Commit Graph

415 Commits

Author SHA1 Message Date
Robert Osfield
6223c11570 Made the generation of QUADS for strip with the length of 4 an option. 2004-05-02 15:43:55 +00:00
Robert Osfield
5836d60fbd Added osg::CullSettings class as a way of collecting all the various
settings related to the cull traversal in one place, so we can keep APIs
for settings these values more consistent.
2004-04-30 15:35:31 +00:00
Robert Osfield
5d79eb1c9d Added support for fine grained computation of the near plane, by taking
into account individual primitives culled against the view frustum.

Added better support for computing the near far for billboards.
2004-04-29 22:21:06 +00:00
Robert Osfield
df0d0b0fe7 Added missing billboard drawable dirtyBound() 2004-04-29 22:15:04 +00:00
Robert Osfield
be1a124b32 Fix for VS7.0 build from Mike Weiblen 2004-04-29 22:13:23 +00:00
Robert Osfield
0af4365d11 Fixed an iterator invalidation bug. (thanks to Per Månsson for tracking down the
bug)
2004-04-29 21:38:16 +00:00
Robert Osfield
ba5b90d43e Added missing dirtyBound() to billboard section of flatten static transforms 2004-04-29 15:57:03 +00:00
Robert Osfield
678c456fc8 Made s/getBackgroundColor() deprecated, and add in new s/getClearColor() to
replace it.
2004-04-27 19:09:58 +00:00
Robert Osfield
91516305d9 Added support for protecting points from being simplified.
Added back in support for generation of skirts in osgTerrain::DataSet.
2004-04-22 13:36:30 +00:00
Robert Osfield
8a923e60a8 Changed the edge collapse to accept edges with more than two connected
triangles.
2004-04-21 10:40:12 +00:00
Robert Osfield
cc1314049c Changed the debugging info to output to osg::notify() rather than cout.
Add a clear of all the internal EdgeCollapse structures to avoid memory
leaks
2004-04-20 09:36:46 +00:00
Robert Osfield
061244056d Added support for using the error metric to guide the simplficiation process 2004-04-19 23:08:30 +00:00
Robert Osfield
45179b8868 Changed the scoping for for variables to fix VS6.0 compile. 2004-04-19 20:44:14 +00:00
Robert Osfield
f72e9befc1 Added support for detecting edge collapses which will overturn the local
triangles.
2004-04-19 20:06:26 +00:00
Robert Osfield
a1caa14a61 Added osgsimplifier example. 2004-04-18 16:15:49 +00:00
Robert Osfield
cf8c4c6a97 Further work on Simplifer support for compute error metric 2004-04-17 22:50:39 +00:00
Robert Osfield
8f819d7756 Changed TriangleSet::iterator to const_iterator to fix build under VS.NET. 2004-04-17 20:27:31 +00:00
Robert Osfield
117fa92462 Further work on simplifier edge collapse code 2004-04-17 16:02:38 +00:00
Robert Osfield
3b4e0a419a Added tests for the consistency of points, edges and triangles. 2004-04-15 09:37:10 +00:00
Robert Osfield
025cc6b819 Added support for removing triangles and associated edge and points from
the EdgeCollapse object.
2004-04-13 15:59:30 +00:00
Robert Osfield
073e49c3d8 Added support for copy all per vertex attributes to and from the edge collapse
object.
2004-04-13 14:39:43 +00:00
Robert Osfield
c80de01fd7 Further work on the new osgUtil::Simplifier. 2004-04-12 21:29:31 +00:00
Robert Osfield
ae7ceae631 From Paul Martz, added support for OpenFlight15.8 LightPointSystems 2004-04-10 11:30:16 +00:00
Robert Osfield
5c01b5118e Renamed MyTriangleOperator to CollectTriangleOperator. 2004-04-09 08:20:15 +00:00
Robert Osfield
51c8655630 Added beginning of new osgUtil::Simplifier 2004-04-08 11:27:01 +00:00
Robert Osfield
9e4b23a1ef Added extra check against a null vertex array to prevent a crash when
tri stripping an empty geometry.
2004-03-29 12:28:06 +00:00
Robert Osfield
aa52005b87 Added empty() method to Geometry to facilitate tests for removing empty
geometry from the scene graph.

Added removal of empty geometry leaves from within the RemoveEmptyNodeVisitor
2004-03-29 10:24:16 +00:00
Robert Osfield
8f226faae8 From Tom Jolly, addition a isCullingActive check to the culling test done
on drawables.  This solves a osgParticle bug relating to bounding boxes being
initially at 0,0,0.
2004-03-09 21:33:44 +00:00
Robert Osfield
4aa7afedf3 Removed include <iostream> where possible, replacing with istream or ostream and changing
std::cout/cerr to osg::notify().
2004-03-03 13:27:21 +00:00
Robert Osfield
2af70e3c4c From Ronny Krueger:
In RenderStage.cpp removed erroneous else statement.

    In ShapeDrawable.cpp's PrimitiveShapeVisitor::apply(const Box& box) fixed
    order of the last face.
2004-02-09 22:56:39 +00:00
Robert Osfield
33201a8f25 Added new TriangleIndexFunctor. 2004-02-09 10:14:06 +00:00
Robert Osfield
e4dac2e6f6 Fixed warning in Tesselation w.r.t unhandled cases in switch statement 2004-02-05 10:15:38 +00:00
Robert Osfield
519496754c Added dynamic_cast<DisplayListiVisitor> into SceneView::init() method to
properly check for class type before doing setState().
2004-02-03 19:07:32 +00:00
Robert Osfield
e266385769 Moved the InitVisitor::setState() into the SceneView::init() method to make
sure that it always has the correct State object at the of the init.
2004-02-02 16:55:29 +00:00
Robert Osfield
b4774099d6 Fixed the clampProjectionMatrix method so it doesn't modify the input
znar and zfar, by avoid the use of float/double&.
2004-01-29 20:14:20 +00:00
Robert Osfield
7a94ab3903 Added double's as parameters to _clampProjectionMatrix() template function to
cure compile problems
2004-01-29 10:44:08 +00:00
Robert Osfield
39d7afaed2 Added support for CullVisitor::clampProjectionMatrixCallback 2004-01-28 10:49:23 +00:00
Robert Osfield
2b9707cdfe Added rotation of billboard normal into flattern transform Optimizer pass. 2004-01-23 16:29:54 +00:00
Robert Osfield
4390114670 From Romano Magacho, add group->setName() to flattening of static transforms 2004-01-09 14:07:26 +00:00
Robert Osfield
f230f5a132 Added support into osgProducer::Viewer for flushing and compiling GL objects
via a Producer post swap callback.
2004-01-05 13:40:36 +00:00
Robert Osfield
884e046abb From Geoff Michel, added tesselate pass to Optimizer and added handling of per
primitve color to osgUtil::Tesselator.
2003-12-27 13:46:33 +00:00
Robert Osfield
5c199e01c0 Build fixes for VS6.0 2003-12-24 00:14:12 +00:00
Robert Osfield
fdd5a72115 Added extra clampProjectionMatrix methods to handle both Matrixd and Matrixf
pathways.
2003-12-21 13:11:36 +00:00
Robert Osfield
1158e4605d Added support for updating the SceneView projection matrix from the values
of near and far computed during the cull traversal.
2003-12-15 23:23:45 +00:00
Robert Osfield
caaed0d8b8 Added test against MultiSwitch in Optimizer to prevent switch children
being removed.
2003-12-15 08:54:38 +00:00
Robert Osfield
9f0dc42efe Fixed flatten static transform 2003-12-12 17:23:03 +00:00
Robert Osfield
4bf9347fae Made progress reports use osg::notify(osg::INFO) instread of std::cout 2003-12-12 13:53:04 +00:00
Robert Osfield
995af47ab9 Fixed merging of geometry code. 2003-12-12 13:24:23 +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