homesystemforumcontactopensgplus

forum_intro
features
lnews
motivation
gallery
people

 



Features

The current version is 1.2. That number implies two things. It's the second table version that we're putting out, it's by no means the last, so not all of the things that we want to do are done (see the roadmap for a glimpse of things to come). It also implies that it's a stable release, so the focus was not on buzzword completeness or performance, but rather on stabilizing interfaces and creating documentation and examples.

Nonetheless, we do have a nice list of supported features, some of which are unique, which make OpenSG a pretty useful scenegraph:

  • Multithreaded Asynchronous Scenegraph Manipulation
    One of the central parts of the OpenSG design. The OpenSG data structures are set up in a way that allows multiple independent threads to manipulate the scenegraph independently without interfering with each other.
  • View Volume Culling
    Only render what's in the field of view. No biggie, but really useful in large scenes.
  • Portability
    The whole system works on Irix, Linux and Windows, and is compiled daily on each to ensure that changes that break portability are not detected when it's too late to fix them.
  • State Sorting
    To efficiently use graphics hardware, the OpenGL state has to be changed as rarely as possible. Sorting the visible objects by state is the main way to do that.
  • Striper
    Turning independent triangles and quads into connected strips significantly increase performance.
  • Loader: VRML97, OBJ, OFF, RAW
    These are the loaders that we have. Lodestone will take care of the rest.
  • Standard Nodeset
    The standard scenegraph nodes like Groups, Transformations (Matrix and Component), Level of Detail and geometry are supported.
  • Flexible Geometry
    The Geometry node can handle all OpenGL primitives, and can handle all of them mixed in one node. Thus there's no need to create multiple objects just to mix triangle strips and fans.
  • Runtime Changeable Type System
    All objects are created from prototypes that can be exchanged at runtime. This allows easy adaption of global defaults, as well as exchanging system objects with newer versions better suited to the application at hand, at runtime.
  • Reflective Structures
    A flexible type system like the one mentioned above demands flexible tools. TO allow building those all structures can give out information about themselves and their data. This allows writing very generic tools. The OSG write for example will not have to touched for any new structures that are added to the system.



For inquiries, wishes, or comments please contact info@opensg.org.
© 2003 OpenSG Forum - Last change: Wed Mar 19 17:11:27 2003
Designed by CAPCom GmbH - Maintained with WML