updated the ReaderWriterBMP.cpp (mods sent in my Geoff Michel) and
moved the osgUtil::Statistics to osg::Statistics in preperation to adding it
to the the Drawable base class.
Also move osg across to using radians for angular paramters by default.
By defining USE_DEGREES_INTERNALLY you can get the OSG to revert to
the old style degrees. This later feature is deprecated and only meant
for helping comptability in the interim.
added support in osgUtil::OptimizeStateVisitor for removing duplicate
StateSet's from the scene graph, previously only duplicated StateAttributes
we're removed.
glMatrixMode( GL_MODELVIEW ); after the setting of the texture matrix.
Previously the texture matrix mode could run into normal model view
matrix operations which were assuming the defaul of GL_MODELVIEW.
to the StateSet::setGlobalDefault() so that the correct default for the glDepthFunc etc are set up for scene graphs, and allows override of these value which risk of inheriting state on to the rest of the scene graph.
This has allowed the hangglide demo to be simplified since it now doesn't need to set the global Depth instance itself.
Also added Matrix::ensureRealized() to support the lazy initialization of Matrix, whilest keeping the implementation robust so that external calls to Matrix which get values do so on an initialized matrix.
2) cleaned up osg::Timer, still in progress. My intent has been to
pave the way for support for other OS's.
3) new osg::FrameStamp class which has a frame number, reference
time for each frame to be app, culled and drawn. The FrameStamp
also can be passed to other machines (i.e. cluster) and the
FrameStamp can be used with the slaves own app,cull and draw.
I've also added the beginings of a calander time data to the
FrameStamp to allow time or day and year to be used in setting
up position of sun/moon etc. etc.
4) The osg::State now has contains a pointer to the last applied
osg::Camera and the current osg::FrameStamp, so that drawables
can use both pieces of information for creating effects such
CLOD, earth/sky etc. The osg::NodeVisitor also now allows you
to attach a FrameStamp to support syncronization of actions on
the scene graph.
but getting there.
o First cut of osgcluster demo. Very simple beginings. Alas
I only one PC here so I can't test it in its current guise.
o New support for NodeCallbacks, via AppCallback attached to
osg::Node's, and a default osgUtil::AppVisitor which calls them on
each frame.
o Support for traversal masks in osg::NodeVisitor, osg::Node
which allows nodes to be switched on or off via a bit mask.
o Suppport for traversal number (frame number) and reference time
into osg::NodeVisitor to handle syncronization of app and cull
traversals. This also assist clustering as traversal number
master to slaves.