]> git.mxchange.org Git - simgear.git/commitdiff
Revert "Disable LOD when rendering to the shadow map."
authorFrederic Bouvier <fredfgfs01@free.fr>
Mon, 2 Apr 2012 17:50:50 +0000 (19:50 +0200)
committerFrederic Bouvier <fredfgfs01@free.fr>
Mon, 2 Apr 2012 21:37:18 +0000 (23:37 +0200)
This reverts commit b95fb48a162fcdea8ec1384c265dc799001c8bac.

simgear/scene/material/EffectCullVisitor.cxx
simgear/scene/material/EffectCullVisitor.hxx

index 8f7637c94bb35b5c40624eea0c618d0fea46cc0f..c44d8d695c1cf086ba42793030a2d829c71f2db1 100644 (file)
@@ -20,7 +20,6 @@
 
 #include <osg/StateSet>
 #include <osg/Texture2D>
-#include <osg/LOD>
 
 #include "EffectCullVisitor.hxx"
 
@@ -35,23 +34,14 @@ namespace simgear
 
 using osgUtil::CullVisitor;
 
-EffectCullVisitor::EffectCullVisitor() :
-    _ignoreLOD(false),
-    _collectLights(false)
-{
-}
-
-EffectCullVisitor::EffectCullVisitor(bool ignoreLOD, bool collectLights) :
-    _ignoreLOD(ignoreLOD),
+EffectCullVisitor::EffectCullVisitor(bool collectLights) :
     _collectLights(collectLights)
 {
 }
 
 EffectCullVisitor::EffectCullVisitor(const EffectCullVisitor& rhs) :
     osg::Referenced(rhs),
-    CullVisitor(rhs),
-    _ignoreLOD(rhs._ignoreLOD),
-    _collectLights(rhs._collectLights)
+    CullVisitor(rhs)
 {
 }
 
@@ -60,30 +50,6 @@ CullVisitor* EffectCullVisitor::clone() const
     return new EffectCullVisitor(*this);
 }
 
-void EffectCullVisitor::apply(osg::LOD& node)
-{
-    if (_ignoreLOD) {
-        if (isCulled(node)) return;
-
-        // push the culling mode.
-        pushCurrentMask();
-
-        // push the node's state.
-        osg::StateSet* node_state = node.getStateSet();
-        if (node_state) pushStateSet(node_state);
-
-        if (_traversalMode==TRAVERSE_PARENTS) node.osg::Group::ascend(*this);
-        else if (_traversalMode!=TRAVERSE_NONE) node.osg::Group::traverse(*this);
-        // pop the node's state off the render graph stack.
-        if (node_state) popStateSet();
-
-        // pop the culling mode.
-        popCurrentMask();
-    }
-    else
-        CullVisitor::apply(node);
-}
-
 void EffectCullVisitor::apply(osg::Geode& node)
 {
     if (isCulled(node))
index 341dfb025d7b5a16c8aeaa510b4fe2c27d68d489..c4d3c6300ad3181d80028afbffe2265d1a5662af 100644 (file)
@@ -33,12 +33,10 @@ class EffectGeode;
 class EffectCullVisitor : public osgUtil::CullVisitor
 {
 public:
-    EffectCullVisitor();
-    EffectCullVisitor(bool ignoreLOD, bool collectLights = false);
+    EffectCullVisitor(bool collectLights = false);
     EffectCullVisitor(const EffectCullVisitor&);
     virtual osgUtil::CullVisitor* clone() const;
     using osgUtil::CullVisitor::apply;
-    virtual void apply(osg::LOD& node);
     virtual void apply(osg::Geode& node);
     virtual void reset();
 
@@ -49,7 +47,6 @@ public:
 private:
     std::map<int,osg::ref_ptr<osg::Texture2D> > _bufferList;
     std::vector<osg::ref_ptr<EffectGeode> > _lightList;
-    bool _ignoreLOD;
     bool _collectLights;
 };
 }