to specific nodes in the scene graph. Typical use would be tagging a
node so that it can't be optimized away in say a flatten static transform
pass. Added methods to Optimizer are:
inline void setPermissableOptionsForObject(const osg::Object* object, unsigned int options)
{
_permissableOptionsMap[object] = options;
}
inline unsigned int getPermissableOptionsForObject(const osg::Object* object) const
{
PermissableOptionsMap::const_iterator itr = _permissableOptionsMap.find(object);
if (itr!=_permissableOptionsMap.end()) return itr->second;
else return 0xffffffff;
}
inline bool isOperationPermissableForObject(const osg::Object* object,unsigned int option) const
{
return (option & getPermissableOptionsForObject(object))!=0;
}
limit the maximum number of occluders used in the cull traversal, default is
now 10.
Added set/getCollectOccluderVisitor() method into SceneView to allow control
of the the settings of the CollectOccluderVisitor.
instead of osgDB::Registry where it original lay. This has been done to allow
fileName strings to be encode data rather than just file names, such as one
requires when using PagedLOD along with plugins for doing dynamic tesselation.
extra pass to doing tri stripping in the osgUtil::Optimzer.
Added validity checks into osg::TexEnvCombine to catch eronous enumarant values.
Improved the efficient of CullingSet's handling of new transforms.
Added a copy shared subgraphs and subdivision code into osgUtil::Optimizer.
to and command line arguments to set it.
Added support for using the DisplaySettings::getDisplayType() to detect use
of a Head Mounted Display when doing stereo so that the asymtric frustum can
be switched off.
methods to check all atributes and to report warnigns when errors are detected.
Added a CheckGeomtryVisitor to osgUtil::Optimizer to detect eroneous Geometry
before rendering.
the state stack, thus readying the state object to recieve a new frame.
Removed the state.reset() call in osgUtil::SceneView::cull() as this was
causing problems with stats producing inheritance of state when toggling
stats on.
value to float, and converted the internal code across to use value_type. This
allows Matrix to be converted to use double's simply by change the definition
of value_type. Added Matrix::glLoadlMatrix and Matrix::glMultMatrix() to
help encapsulate the changes between float and double matrix usage.
Updated code that uses Matrix so it doesn't assume float or double matrices.
part of prep for supporting both Matrixf (float) and Matrixd (double).
Added osg::Matrixf::glLoadMatrix() and osg::Matrixf::glMultiMatrix() methods
and changed corresponding usage of glLoad/MultMatrixf() calls across to use these
methods. Again prep for support Matrixd.
Fixes for VisualStudio 6.0 compile.
made ENABLE_ALL_CULLING enable all culling including the near and far plane.
DEFAULT_CULLING is now used for the default as uses the same original
values as ENABLE_ALL_CULLING once did - view frustum culling with near and
far culling. SceneView now uses DEFAULT_CULLING.