OpenGL plus plus

The title of this article is incorrect because of technical limitations. The correct title is OpenGL++.

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 DEC 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.

OpenGL++ (OGL++) was intended to offer a selection of routines and standardized data structures to dramatically simplify writing "real" programs using OpenGL. Instead of the programmer having to keep track of the objects in the 3D world and make sure they were culled properly, OpenGL++ would include its own scene graph system and handle many of the basic manipulation duties for the programmer. In addition, OGL++ included a system for modifying the scene graph on the fly, re-arranging it for added performance.

Much of OGL++ was a combination of ideas from earlier SGI projects in the same vein, namely Open Inventor which offered ease-of-use, and OpenGL Performer which was written separately from Inventor to deliver a system that optimized scene graphs for increased performance and exploited scalable architectures. It was later intended that a new design could get the best of both worlds while forming the underlying framework for several projects including CAD, image processing, visual simulation, scientific visualization and user interfaces or 3D manipulators allowing them to interoperate, thereby offering both rapid development and high performance.

SGI had already almost completed one effort to merge the functionality of scene graphsCosmo 3D, Cosmo 3D was in fact the spinoff from an earlier collaboration with Sun which was supposed to produce a scene graph for Java in conjunction with SGI's new scene graph, Sun and SGI went their separate ways with Java3D and Cosmo3D. When SGI announced the OGL++ effort, they halted development of Cosmo3D when it had just reached a beta release. 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 use of the Cosmo name was merely part of a broader marketing strategy, it ran on OpenGL. 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.

In the end, there is little to show for any of these efforts. Parnerships with Sun Microsystems, Intel and IBM and Microsoft all led to nothing as SGI jumped from project to project. In retrospect, SGI reacted badly to a rapidly changing environment. An internal desire to create a new improved generic but extensible scene graph was constantly sidetracked by a belief that SGI couldn't go it alone. Partnerships were formed and later abandoned due to irreconcilable differences or simply as priorities and internal pressures shifted. OGL++ was the most nacent of these efforts and although it was the option that rapidly gained the strongest interest the power of the idea forced an unholy alliance between Microsoft and SGI in the form of Fahrenheit, SGI joining because of it's long held belief that it couldn't go it alone and Microsoft because it wanted to avert the possibility of a truly open 3D scene graph. Ancillary issues like powerful CAD APIs running on Cosmo3D complicated the picture. In the final analysis the new unified scene graph concept was bounced from project to project, and eventually died in 2000 when Fahrenheit was killed.

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.

Navigation

  • Art and Cultures
    • Art (https://academickids.com/encyclopedia/index.php/Art)
    • Architecture (https://academickids.com/encyclopedia/index.php/Architecture)
    • Cultures (https://www.academickids.com/encyclopedia/index.php/Cultures)
    • Music (https://www.academickids.com/encyclopedia/index.php/Music)
    • Musical Instruments (http://academickids.com/encyclopedia/index.php/List_of_musical_instruments)
  • Biographies (http://www.academickids.com/encyclopedia/index.php/Biographies)
  • Clipart (http://www.academickids.com/encyclopedia/index.php/Clipart)
  • Geography (http://www.academickids.com/encyclopedia/index.php/Geography)
    • Countries of the World (http://www.academickids.com/encyclopedia/index.php/Countries)
    • Maps (http://www.academickids.com/encyclopedia/index.php/Maps)
    • Flags (http://www.academickids.com/encyclopedia/index.php/Flags)
    • Continents (http://www.academickids.com/encyclopedia/index.php/Continents)
  • History (http://www.academickids.com/encyclopedia/index.php/History)
    • Ancient Civilizations (http://www.academickids.com/encyclopedia/index.php/Ancient_Civilizations)
    • Industrial Revolution (http://www.academickids.com/encyclopedia/index.php/Industrial_Revolution)
    • Middle Ages (http://www.academickids.com/encyclopedia/index.php/Middle_Ages)
    • Prehistory (http://www.academickids.com/encyclopedia/index.php/Prehistory)
    • Renaissance (http://www.academickids.com/encyclopedia/index.php/Renaissance)
    • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
    • United States (http://www.academickids.com/encyclopedia/index.php/United_States)
    • Wars (http://www.academickids.com/encyclopedia/index.php/Wars)
    • World History (http://www.academickids.com/encyclopedia/index.php/History_of_the_world)
  • Human Body (http://www.academickids.com/encyclopedia/index.php/Human_Body)
  • Mathematics (http://www.academickids.com/encyclopedia/index.php/Mathematics)
  • Reference (http://www.academickids.com/encyclopedia/index.php/Reference)
  • Science (http://www.academickids.com/encyclopedia/index.php/Science)
    • Animals (http://www.academickids.com/encyclopedia/index.php/Animals)
    • Aviation (http://www.academickids.com/encyclopedia/index.php/Aviation)
    • Dinosaurs (http://www.academickids.com/encyclopedia/index.php/Dinosaurs)
    • Earth (http://www.academickids.com/encyclopedia/index.php/Earth)
    • Inventions (http://www.academickids.com/encyclopedia/index.php/Inventions)
    • Physical Science (http://www.academickids.com/encyclopedia/index.php/Physical_Science)
    • Plants (http://www.academickids.com/encyclopedia/index.php/Plants)
    • Scientists (http://www.academickids.com/encyclopedia/index.php/Scientists)
  • Social Studies (http://www.academickids.com/encyclopedia/index.php/Social_Studies)
    • Anthropology (http://www.academickids.com/encyclopedia/index.php/Anthropology)
    • Economics (http://www.academickids.com/encyclopedia/index.php/Economics)
    • Government (http://www.academickids.com/encyclopedia/index.php/Government)
    • Religion (http://www.academickids.com/encyclopedia/index.php/Religion)
    • Holidays (http://www.academickids.com/encyclopedia/index.php/Holidays)
  • Space and Astronomy
    • Solar System (http://www.academickids.com/encyclopedia/index.php/Solar_System)
    • Planets (http://www.academickids.com/encyclopedia/index.php/Planets)
  • Sports (http://www.academickids.com/encyclopedia/index.php/Sports)
  • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
  • Weather (http://www.academickids.com/encyclopedia/index.php/Weather)
  • US States (http://www.academickids.com/encyclopedia/index.php/US_States)

Information

  • Home Page (http://academickids.com/encyclopedia/index.php)
  • Contact Us (http://www.academickids.com/encyclopedia/index.php/Contactus)

  • Clip Art (http://classroomclipart.com)
Toolbox
Personal tools