OpenGL++

From Wikipedia, the free encyclopedia

(Redirected from OpenGL plus plus)
Jump to: navigation, search

OpenGL++ was intended to be a powerful layer above the OpenGL 3D graphics system written in C++ that supported object-oriented data structures. The project started as the result of a partnership between SGI, IBM and Intel (and later Digital Equipment Corporation as well) to provide a higher level API than the "bare metal" support of OpenGL. Work on OpenGL++ ended when SGI decided to partner with Microsoft instead, leading to the Fahrenheit project, which also died.

The vast majority of applications using 3D systems describe the objects in their "world" in a data structure known as a scene graph. A scene graph is normally organized as some sort of a binary tree, with the nodes representing objects, and the edges their relationship to other objects in the world. For instance, a table might be represented by a single "table" object with several edges connecting its parts together, the table top, legs, etc. Key to high performance in 3D applications is deciding what objects in the world are actually visible given the current camera position and direction. For instance, objects behind the camera do not have to be drawn. Quick traversal of the scene graph is essential to making this "culling" operation occur quickly.

Scene graphs were generally left to the developer to implement, and it was all too common to see poor examples that led to poor performance. SGI had worked on a number of projects that were intended to help the developer produce a high-quality scene graph, but none of these had become widely used for a variety of reasons. Open Inventor was one such example, and was intended to simplify building the scene graph, but the results were not necessarily very high performance. OpenGL Performer was a similar project that was intended to produce high-speed scenes and support very large numbers of objects in the "world", but was not particularly easy to use. Both teams had already realized that there was no particular reason the two systems could not be combined into one, offering both ease-of-development and high-performance.

SGI had been involved in such an effort in partnership with Sun Microsystems that was intended to produce a scene graph for the Java programming language. This project eventually failed, and led to the separation of Sun and SGI's efforts, Sun releasing theirs as Java3D. SGI packaged some of their developments into the Cosmo3D suite, which was a marketing name for a wide variety of semi-related products. By then a CAD/"Large Model Visualization" layer of functionality called OpenGL Optimizer had already been implemented on Cosmo3D and then released as a product. Other "front end" packages like, Cosmo Code, a VRML authoring tool, were produced by a different division and did not use the Cosmo scene graph at all.

OGL++ was intended to be a cleaned up and more flexible version of Cosmo3D. Most of the Cosmo3D team started work on OGL++ and a lot of the effort was aimed at a specification and implementation that could deliver on the promise of a truly powerful yet generic scene graph. Practically every company involved in the 3D workstation market joined the effort.

For reasons that are not entirely clear, nothing ever came of the project. The project appears to have been a victim of SGI's shifting priorities through this period, changing directions in order to partner with larger companies. When these companies exited the 3D space to focus on other product niche's, SGI was left as the only supporter, exactly what they were trying to avoid. Eventually the only other company with a 3D focus was Microsoft, and the Fahrenheit project started and ended shortly after the OpenGL++ efforts.

Today, no such standardized scene graph exists, and SGI has all but exited the API world. SGI has released the earlier Open Inventor code into open source, but the source to OGL++ was never completed to any satisfactory degree. No specification exists and as with OpenGL the spec and idea behind such an open platform would have been what lent it it's lasting value, not a single implementation of a scene graph idea.

Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.