Commit Graph

55 Commits

Author SHA1 Message Date
Robert Osfield
9a80c331a2 From Andre Normann, "with version 8504, I am not able to compile osgwrappers under Windows, because there are some DLL export macros missing. I fixed it and put the files in the attached zip file.
"
2008-06-27 10:17:38 +00:00
Robert Osfield
be185cb3af From Terry Welsh, new flatten static transforms visitor that duplicates subgraphs that are shared beneath differnt static transforms
From Robert Osfield, made a range of changes to Terry's visitor integrating it into osgUtil::Optimizer and 
changing the code to use a style more like the rest of the OSG.
2008-06-20 13:16:35 +00:00
Robert Osfield
6691824244 Added subdivision of Goedes 2008-04-13 19:31:09 +00:00
Robert Osfield
47622e6134 Fixed the FlattenStaticTransform visitor so that it excludes subgraphs that
contain PagedLOD nodes
2007-02-08 15:47:05 +00:00
Robert Osfield
fd0ea388c2 Began work on providing support for threading camera cull traversals in parallel with
the previous frames draw traversal.  Changes range from osg::State, through osgUtil::RenderBin, through to osgViewer
2007-01-29 22:44:29 +00:00
Robert Osfield
462803fd57 From Paul Martz, speeling fixes for Tessellator/Tessellation. 2007-01-08 21:29:49 +00:00
Robert Osfield
426fd9eaf7 Missed check of changes to the RemoveRedundentNodesVisitor 2006-11-26 14:17:22 +00:00
Robert Osfield
19f3d975dd Futher work on TextureAtlasBuilder/Visitor, now functioning enough to deploy on real models. 2006-08-28 15:46:02 +00:00
Robert Osfield
ee7f3fa375 Further work on TextureAlasBuilder and TextureAtlasVisitor. 2006-08-28 10:46:39 +00:00
Robert Osfield
f86c824275 Further work on new TextureAtlasBuilder. 2006-08-25 16:30:23 +00:00
Robert Osfield
1f8c4874f6 Checking in first cut of new osgUtil::Optimizer::TextureAtlasBuilder class
for building texture atlas for sets of images or textures.
2006-08-25 15:53:16 +00:00
Robert Osfield
0220448af3 Fixed value of FLATTEN_BILLBOARDS enum. 2006-08-11 16:03:04 +00:00
Robert Osfield
91e9679362 Addd a setNodeMaskOverride(0xffffffff) to cope with models that are hiding
subgraphs that still need to be accounted for when optimizer.
2006-08-10 06:43:09 +00:00
Robert Osfield
f1c2694c17 Updated copyright years. 2006-07-18 15:21:48 +00:00
Robert Osfield
a74801a0ee Added Optimizer::FlattenBillboardsVisitor. 2006-07-18 11:03:46 +00:00
Robert Osfield
761a3b43ac From Brede Johansen, added MergeGeode visitor to osgUtil::Optimizer. 2006-04-06 14:06:22 +00:00
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