Core OpenSceneGraph
1 core
1.1 osg
1.2 openthreads
1.3 osgutil
1.4 osgdb
core
the base of openscenegraph library can further divided 4 main modules.
osg
the core of openscenegraph provides classes , methods construction , manipulation of scene graph. contains classes representing various types of nodes, scene geometry, opengl state abstraction, geometric transformations, mathematical classes 2d , 3d vector , matrix operations. advanced memory management included.
openthreads
the openscenegraph project contains threading library, openthreads, lightweight cross-platform thread model. intended provide minimal , complete object-oriented (oo) thread interface c++ programmers. loosely modeled on java thread api, , posix threads standards.
the architecture of openthreads designed around swappable thread models defined @ compile-time in shared object library. of importance note while factory pattern design have been used achieve goal of generic interface, have required programmer allocate each of 4 fundamental types (thread, mutex, barrier, & condition) on heap. due cost associated heap allocation of underlying concrete implementations of these constructs on platforms, such allocation deemed unacceptable @ time library written, , factory pattern not used.
instead, abstruse - effective - technique chosen provide necessary data/implementation hiding. technique uses private void pointers encapsulate object private data. void pointers point @ concrete data structures, give uniform interface dso.
the design goal of openthreads construct optimized implementations using platform optimized multi-processing constructs such sproc methods used on irix, , windows threads.
osgutil
osgutil contains rendering backend functionality , utilities taking care of scene graph traversal, rendering optimisation , transforming scene stream of opengl calls. provides means of basic interaction scene, such object picking.
osgdb
openscenegraph comes large collection of database loaders , many 2d/3d data formats manipulators. more 50 different formats supported - common 3d data formats, such collada, lightwave (.lwo), wavefront (.obj), openflight (.flt), 3d studio max (.3ds), directx (.x) , many others. openscenegraph provides own native ascii .osg format. there exporters .osg format available blender, maya , 3d studio max.
supported picture formats include .rgb, .gif, .jpg, .png, .tiff, .pic, .bmp, .dds, .tga , quicktime.
this module provides i/o device abstraction.
Comments
Post a Comment