Platform independent application program interface for...

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

C707S793000, C707S793000

Reexamination Certificate

active

06215495

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to a platform independent application program interface for interactive three-dimensional scene management.
BACKGROUND OF THE INVENTION
Computer graphics is used in a wide variety of applications, such as in business, science, animation, simulation, computer-aided design, process control, electronic publication, gaming, medical diagnosis, etc. In an effort to portray a more realistic real-world representation, three dimensional objects are transformed into models having the illusion of depth for display onto a two-dimensional computer screen. This is accomplished by using a number of polygons to represent a three-dimensional object. Next, a scan conversion process is used to determine which pixels of a computer display fall within each of the specified polygons. Thereupon, texture is selectively applied to those pixels residing within specified polygons. In addition, hidden or obscured surfaces, which are normally not visible, are eliminated from view. Finally, lighting, shading, shadowing, translucency, and blending effects are applied.
For a high resolution display (1024×1024) having over a million pixels, for which values must be generated for each and every pixel, displaying a three-dimensional scene on a computer system is a rather complicated task and requires a tremendous amount of processing power. Furthermore, the computer system must be extremely fast for it to handle dynamic computer graphics for displaying three-dimensional objects that are in motion. In order to simulate motion, the computer system should have a frame rate of at least 30 hertz. In other words, new images should be updated, redrawn and displayed at least thirty times a second. Otherwise, the motion would appear to be jerky and unnatural to the human eye. Indeed, even more processing power is required for interactive computer graphics, whereby 3-D images change in response to a user input (e.g., flight simulation). And as a scene becomes “richer” by adding more details and objects, more processing computation is required to render that scene. It is an extremely complex task for a computer to render millions of pixels in order to process these amazingly complex scenes every three-tenths of a second.
Unfortunately, even though a computer might be powerful enough to render such 3-D scenes, there are practical limitations on the speed or “bandwidth” for transmitting and receiving display information over a network, such as the Internet. Due to this limited bandwidth, computers can only send and receive a relatively small trickle of information. Hence, conveying 3-D image information is excruciatingly slow, time-consuming, and frustrating for the user. As a consequence, displays on the Internet have typically been flat and two-dimensional. There are attempts underway to increase the bandwidth by employing fiber optics, wireless communications, cable networks, satellite systems, etc. However, the throughput for these high speed paths can quickly become overloaded with heavy Internet traffic.
In recognition of the limited bandwidth, a high level programming language, known as Virtual Reality Meta Language (VRML) was developed to more efficiently utilize the existing bandwidth in the transmission of 3-D image information. VRML files are formatted in such a way so that some of the 3-D display information can be intentionally left out. Thereby, VRML files can be transmitted much more quickly. This is made possible by the fact that VRML techniques rely on transmitting instructions as well as data to the user's computer. It is then up to the user's computer system to follow these instructions using its resident graphics engine and library to produce the 3-D images.
Although VRML is widely known, designing a graphics application programming interface (API) to take advantage of the powerful and extensive feature set of VRML is quite demanding. Basically, an API is comprised of a library of commands that allows a programmer to utilize the graphics hardware in a computer. It is important to design an API graphics toolkit which allows developers to readily incorporate dynamic 3D worlds, collaborative design environments, and virtual characters with spatialied and synchronized audio into their World Wide Web applications. Further complicating matters is that it would be highly desirable for such an API to be platform independent, whereby the same API allows vendor-neutral PC, workstation, and supercomputing software developers to create high-quality color images of 3-D objects which are capable of running on any of several different platforms. Hardware companies implement each library call in a way that best utilizes the graphics hardware that they provide. The API should also be designed to be network transparent and operating-system independent (i.e., capable of running on X Windows, Microsoft Windows NT™ and Windows 95™, OS/2,™ MacOS™, Irix OS™, etc.).
In designing the platform-independent API, proper and careful attention must be directed in the selection of which features and attributes are to be included (e.g., geometric morphing, view culling, levels of detail, 3-D audio, texture mapping, modeling, transformation, color, NURBS, fog, alpha blending, smooth shading, motion blur, etc.). Furthermore, the definition of a scene graph containing geometry, sound, and a transformation hierarchy dramatically impacts how efficiently an object can be rendered. In particular, the method of performing graphics state management affects the speed at which 3-D objects can be rendered. Other factors to be considered include rendering optimizations; intersection and pick testing; fields and engines; and data and method extensibility. In addition, the API should be designed with the goal towards minimizing the amount of memory that is consumed for storage. Thus, designing a VRML compliant 3-D graphics API that is efficient, platform-independent, and interactive for rendering high quality 3-D objects is a non-trivial task and demands a thorough understanding, extensive experience, and intimate knowledge of 3-D computer graphics.
SUMMARY OF THE INVENTION
The present invention pertains to a platform independent application programming interface for interactive three-dimensional scene management. In particular, the applications programming interface is used to render a three-dimensional scene according to a downloaded file. This is accomplished by building a scene graph from a number of objects which are stored in local memory. These objects have variables which can be changed by subroutine calls. Furthermore, one or more objects can contain one or more fields. A field is comprised of a data type which represents the state of that particular object. Engines are used to perform defined functions to the fields. One or more routes can be used to change one field in response to changes made to another field.
In the currently preferred embodiment, a class hierarchy is defined to more efficiently generate and render the scene graph. The topmost level of class hierarchy is comprised of Context, Action, Field Specification, and Base classes. The context class maintains the graphics state for a particular graphics context. The Action class performs traversals. The FieldSpec class describes the fields of a Base class. It defines the field specification for a class by listing the types of all fields that a class instance contains. The Base class represents the base class for objects containing fields. The Base class can include other classes, such as the Clock, Color, Appearance, Node, Material, Texture, Texture Transform, and Geometry classes. In turn each of these classes can be subdivided into further classes. For instance, the Node class can include a Group, Viewport, Light, Fog, Sound, and Shape class. It is this unique combination of class hierarchy, related fields, and their associated set and get functions which makes the API of the present invention so powerful.


REFERENCES:
patent: 5764241 (1998-06-01), Elliott et al.
patent: 5777621 (1998-07-01), Schneider et al.

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

Platform independent application program interface for... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Platform independent application program interface for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Platform independent application program interface for... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2443812

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