The OpenSG® Scenegraph
To program current graphics cards a well-defined, hardware-independent API is necessary. For most people, this is OpenGL. The problem with OpenGL is that it's designed to be a very thin on top of the graphics hardware, and therefore programming graphics in OpenGL is comparable to programming other programs in assembly language: very powerful, gives the best performance possible when done right, horrible when done wrong, and generally very painful to deal with. A higher level approach, comparable to using an object-oriented language like C++ or Java, is using a scenegraph, which represents the whole scene as a tree of different kinds of nodes and hides all the nitty gritty OpenGL details from the. My scenegraph is OpenSG®.
(All images © by Fraunhofer IGD) Scenegraphs have been around for a long time. But most of them have not evolved very much and don't use current developments in general and graphics hardware as well as programming languages. OpenSG® tries to address three core aspects:
- Extensibility through Reflection
- Extensibility towards new graphics features and algorithms
There is more info on the OpenSG® website and in the papers.
- Past Students:
Herausforderungen an moderne Szenengraphsysteme am Beispiel OpenSG
OpenSG: A Scene Graph System for Flexible and Efficient Realtime Rendering for Virtual and Augmented Reality Applications
Integration paralleler Rendering-Verfahren fuer lose gekoppelte Systeme mit OpenSG
in OpenSG 2002 Workshop
OpenSG: A scene graph system for flexible and efficient realtime rendering for virtual and augmented reality applications