Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
OpenGL++
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Background== 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 [[tree data structure]], 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.<ref name=ARB>[http://www.cg.tuwien.ac.at/~wimmer/apis/opengl++_summary.html Scene Graph Standard for OpenGL] {{Webarchive|url=https://web.archive.org/web/20080614114917/http://www.cg.tuwien.ac.at/~wimmer/apis/opengl++_summary.html |date=2008-06-14 }}, ARB Meeting Notes</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)