Robert Osfield
3b4636311b
Moved BaseOptimizerVisitor out of Optimizer into osgUtil namespace to try and
...
get round MipsPro compile problems.
2005-05-13 13:29:45 +00:00
Robert Osfield
44c363dd3f
Added code to prevent ProxyNode's from been "flattened" by
...
osgUtil::Optimizer::FlattenStaticTransforms.
2005-05-09 15:29:18 +00:00
Robert Osfield
adba6fa559
Added RemoveLoadedProxyNodes pass to Optimizer, set on by default at present.
2005-04-30 15:16:05 +00:00
Robert Osfield
0d9887462a
Added MergeGeometryVisitor::setTargetMaximumNumberOfVertices(uint);
2005-04-23 16:09:20 +00:00
Robert Osfield
678b22ce83
Updated Copyright notices to 1998-2005.
2005-04-14 21:41:28 +00:00
Robert Osfield
1c34cceb3a
Fixed indenting.
2005-03-23 20:35:19 +00:00
Robert Osfield
fb4157ae75
From Mike Weiblen: "Fix for VS7.1 warning C4715: not all control paths return a value"
2005-03-23 20:34:02 +00:00
Robert Osfield
dde703e3b0
Commented out the if (!node->getName().empty()) return false; in isOperationPermissibleImplementation()
2005-03-23 08:30:15 +00:00
Robert Osfield
d52f4ea23a
Added support for a new IsOperationPermissibleForObjectCallback in osgUtil::Optimizer.
2005-03-18 02:44:08 +00:00
Robert Osfield
37c8b3a6fb
From Geoff Michel, typos and spelling fixes.
2004-09-26 18:39:34 +00:00
Robert Osfield
9b9cb9cdb0
Added detection and disabling of flattening of static transforms which a
...
LightPointNode exists in the scene graph.
2004-07-29 10:13:02 +00:00
Robert Osfield
0d4fe1eba4
Changed _valueAnisotropy from bool to float.
2004-07-22 07:41:17 +00:00
Robert Osfield
6fd4677868
Added OPTIMIZER_TEXTURE_SETTINGS pass to Optimizer, which enables
...
unref image data after apply, client storage hint.
2004-07-12 13:20:18 +00:00
Robert Osfield
401c3ec45d
From Geof Michel, addition of TESSELATE_GEOMETRY pass.
2003-12-27 22:17:25 +00:00
Robert Osfield
7e012ccfc4
Renamed PermissableOptions to setPermissableOptimizations.
2003-12-11 23:33:27 +00:00
Robert Osfield
1881610a35
Added support for controlling what optimization operations can be applied
...
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;
}
2003-12-11 23:26:22 +00:00
Robert Osfield
3f14b9a653
Added code for combining adjacent static MatrixTransforms
2003-12-05 14:39:32 +00:00
Robert Osfield
db66abd6d6
Implemented duplicate removal code into TriStripVisitor and added an
...
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.
2003-12-03 21:45:32 +00:00
Robert Osfield
3c9d1e0603
Added a spatializer into osgUtil to create a balanced quad/oct tree.
2003-12-01 10:28:23 +00:00
Robert Osfield
2812c50329
Improved the Geometry::verifyBinding() and computeCorrectBindingsAndArraySizes()
...
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.
2003-09-24 15:54:22 +00:00
Robert Osfield
efa16a34c5
Fixes to the Optimizer's handling of merging of osg::Geometry
2003-05-22 15:29:20 +00:00
Robert Osfield
4a6bdad3e1
Removed osg::GeoSet for core osg lib and osgPlugin.
...
Commented out OpenDX plugin as its still based on GeoSet.
Added support for loading and converting GeoSet into the osgconv example.
2003-05-21 12:15:45 +00:00
Robert Osfield
329a8a1656
Fixed an Optimizer crash where if the top most node of a model was
...
a static transform it would crash when this root was deleted. Have fixed
by recognising this node as one not to remove and set it to identity instead.
2003-01-22 12:06:22 +00:00
Robert Osfield
48bda9cc79
Added new Copyright/License notice to header and source files.
2003-01-21 16:45:36 +00:00
Robert Osfield
e6b64a5550
Added support for sharing arrays in the .osg format for osg::Geometry.
...
Fixed the osgUtil::Optimizater so it takes into account sharing of arrays when
deciding whether an geometry can be merged or not.
2003-01-07 16:29:07 +00:00
Don BURNS
b63827c5d9
Cleanin' up after Robert's spelling ...er ... challenges.
2002-12-07 06:59:08 +00:00
Robert Osfield
b1f69a9b11
Fixed the flatten static transform visitor.
2002-08-30 15:07:10 +00:00
Robert Osfield
7682e32521
Updates to the Geometry to add more access methods, and updates to Optimizer
...
to add the new merge primtives option.
2002-07-19 14:19:49 +00:00
Robert Osfield
1a139efbbc
Added const to LessGeometry functor to fix Win32 build.
2002-07-18 09:17:50 +00:00
Robert Osfield
09bdb10af5
Various fixes to the flt loader, and knock on changes to the osgUtil::Optimizer
...
to better support removal of seperate osg::Geometry instances where they
share the same state and bindings.
2002-07-18 00:53:03 +00:00
Robert Osfield
3a964a6b93
Updated docs and added osgGA
2002-07-16 20:07:32 +00:00
Robert Osfield
f2e215bf44
Added conversion to osg::GeoSet::converToGeometry() utility to help the
...
migration to and testing of the new osg::Geometry class.
2002-06-23 21:43:46 +00:00
Don BURNS
eb0587b5fb
Changes required for SUN Solaris port...
2002-03-18 21:56:00 +00:00
Robert Osfield
d12a726d5b
Various investigations into culling errors w.r.t matrix inversion resulted in
...
the conclusion that the osg::Matrix::inverse was broken, have lifted a new
implementation from sgl and it seems to work fine. Will need further testing
but looks good.
2002-02-07 01:15:15 +00:00
Robert Osfield
c1283c23e8
Removed the trailing ; after namespace {...} declariations in headers
...
which was being picked as a warning under Codewarrior.
2002-02-03 12:33:41 +00:00
Robert Osfield
f16776da22
Fixed FlattenStaticTransformVisitor bug which related to incorrect handling
...
of objects which were transformed by multiple matrices at one time - this
cannot be handled in the flattening process (since we only have one piece
of geometry to transform). This visitor now handles this case by disabling
flattening of any objects and transforms associated in this way.
2002-01-22 19:30:51 +00:00
Robert Osfield
bc49a83c51
Updated the Optimzer::FatternStaticTransform visit so by default it ignores
...
all dynamic transforms, previously it flattened dynamic transforms as well.
2001-12-17 15:05:06 +00:00
Robert Osfield
bc44b9342b
Added DLL export to the internal classes in osgUtil::Optimize so that the internal
...
classes can be used directly by client applications.
2001-11-19 11:52:58 +00:00
Robert Osfield
ccc3d3fd8a
Added osgUtil::Optimizer which contains four visitor each designed for doing
...
different types of optimization on the scene graph - state optimization,
flattening static transforms, combining LOD's and removing redundent groups.
The new Optimizer replaces the once seperate OptimizerStateVisitor.
2001-10-19 14:22:02 +00:00