System and method for producing externally rendered object

Computer graphics processing and selective visual display system – Computer graphics processing – Three-dimension

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C345S427000

Reexamination Certificate

active

06271849

ABSTRACT:

FIELD OF THE INVENTION
This invention relates generally to a system and method for generating a graphical view using a computer, and more particularly, to generating a graphical view by cooperation of two or more different application programs or applets.
BACKGROUND OF THE INVENTION
Computer programs that render graphical views of a virtual environment on a computer display are well known. A program that generates a virtual environment, that is, a two- or three-dimensional environment in which a user is free to “move” by control of input devices, for example, is sometimes called a virtual environment application (VEA). VEAs have wide range applications, including the video gaming industry, modeling of natural phenomenon or occurrences such as volcanic activity or oil or chemical spills, or permitting prospective homebuyers or architects to wander through a house before the house is even constructed, for example. The powerful capabilities of VEAs have received considerable attention from software developers and consumers in recent years.
Often, a user has a specific need to display an object that cannot be generalized in an off-the-shelf VEA. There has therefore been considerable effort and numerous attempts in recent years to provide users with “customizable” VEAs. These high-level libraries, toolkits, or applications are used in conjunction with graphic libraries such as OpenGL® in order to facilitate the creation of custom objects within the VEAs.
Typically, the task of defining the objects that perform in a virtual environment can be divided into two categories. Specifically, one must define the object's appearance (i.e., geometry) and behavior (i.e., position and orientation of the object over time). Typically, object appearance is defined outside of the VEA through the use of a variety of geometric formats such as VRML, DXF, and the 3D Studio® format, in their corresponding editors. The definition of behavior, however, is more complex as it has no commonly accepted format within the graphics software industry.
One approach to capturing object behavior is to directly code instructions defining the behavior into the VEA. The problem with this approach is that any extension in the set of object behaviors will involve updating the source code of the VEA, a very complex task. An alternative approach is to use relatively complex communication protocols to allow an external application (i.e., simulation engine) to transmit an object's state information to a VEA for rendering in a graphical view. This approach is also problematic because general object behavior tends to be too complex for a description protocol to fully capture it. In addition, VEA and object parser development are complicated by the many required rules of a rich protocol. Accordingly, implementing simple objects is hindered by the large required protocol set and the implementation of complex objects is hindered by limitations in statically defined behaviors.
Additional scenarios exist in which the geometry of virtual objects is driven by behavior. If geometry is altered due to behavior, the updating of the source code or a rich protocol fails to perform adequately. Objects with dynamic geometry (e.g., waving flags, altered ground surfaces, and running water) are typically handled as special cases that end up breaking the code or raising special exceptions in a protocol. It would be desirable to provide a system and method which can define both appearance and behavior of an object separate and apart from object definitions of a graphics application program, to permit a user to define objects rendered in a graphical view without resorting to direct coding of the object in the VEA or a complex communication protocol.
SUMMARY OF THE INVENTION
The invented system and method overcome the above-noted disadvantages, and attain the objects set forth below. A system in accordance with the invention includes a computer having a processor, a memory, an input device, and a display coupled to the processor. The processor runs a virtual environment application (VEA) that is dynamically linked to an externally-rendered object (ERO) in the processor's memory. The processor renders the ERO in the VEA to generate a graphical view of at least the ERO on the display. The ERO can be inert, in which case the processor does not update the ERO as it runs the VEA. Alternatively, the ERO can be self-generating, in which case the ERO registers predetermined update period data with the VEA before operation of the ERO. In operation, the self-generating VEA tracks the time from the previous rendering cycle to determine whether the predetermined update period has elapsed. If so, the ERO alters itself to update the graphical view generated on the display. In yet another alternative, the ERO can be controlled by an external device that is a separate element from the VEA system. The external device can be coupled to the processor, optionally via a communication link, and interfaces with the ERO. If triggered to do so by the external device, the controlled ERO generates an update request supplied to the VEA to cause the VEA to update the graphical view generated by the VEA object data and the ERO data.
A method in accordance with this invention includes running a virtual environment application (VEA) program, dynamically linking the VEA to at least one externally-rendered object (ERO), and rendering the ERO in the VEA to generate a graphical view on a display. By dynamically linking the ERO to the VEA, the ERO can render itself on the display without the need for changing the VEA's code or providing a complex communication protocol between the VEA and the ERO. The ERO can thus be coupled as a module to the VEA in a manner that greatly simplifies the rendering of the ERO compared to alternative techniques.
An object of the invention is to provide an ERO that can be programmed externally to a VEA so that the source code of the VEA need not be reprogrammed to accommodate the ERO.
Another object of the invention is to provide an ERO whose appearance and behavior can be defined without the need for a complicated protocol to communicate state information between the ERO and VEA.
A further object of the invention is to provide the capability to render custom user-defined objects simply and economically by using transformation and rendering capabilities of standard VEA graphics applications.
Still another object of the invention is to remotely control the ERO to generate a graphical view on a display that can be used remotely to monitor an external device such as an undersea exploration vehicle or drill.
These together with other objects and advantages, which will become subsequently apparent, reside in the details of construction and operation as more fully hereinafter described and claimed, reference being made to the accompanying drawings, forming a part hereof, wherein like numerals refer to like parts throughout the several views.


REFERENCES:
patent: 5734805 (1998-03-01), Isensee et al.
patent: 5739827 (1998-04-01), Nagano et al.
patent: 0 674 974 A1 (1995-02-01), None
“Distributed Virtual Environments and VRML: an Event-based Architecture”, Computer Networks and ISDN Systems 30(1998) 43-51, by Mike Wray and Rycharde Hawkes.
“Building Open Worlds (TM)”, VRML 98 Monterey CAUSA, pp. 33-38 by Paul J. Diefenbach, Prakash Mahesh and Daniel Hunt, Feb. 16, 1998.
“Dynamic Class Loading in the Java Virtual Machine”, OOPSLA, pp. 36-44, Oct. 1998 by Sheng Liang and Gilad Bracha.
“Web-Based Tele-Operated Systems Using EAI”, IEEE 1997, pp. 749-754, Dec. 10, 1997 by Edward D. Elliott, Roy Eagleson.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for producing externally rendered object does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for producing externally rendered object, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for producing externally rendered object will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2438213

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.