]> git.mxchange.org Git - simgear.git/blobdiff - simgear/scene/material/EffectCullVisitor.hxx
Fix removal of directories.
[simgear.git] / simgear / scene / material / EffectCullVisitor.hxx
index 4f0054dd7270e94c8c27b2f2976397de9e13a9c8..ec8f223a8a6fbe8b7138d1e04cd6aedee6dd56fd 100644 (file)
@@ -29,21 +29,25 @@ class Texture2D;
 
 namespace simgear
 {
+class EffectGeode;
 class EffectCullVisitor : public osgUtil::CullVisitor
 {
 public:
-    EffectCullVisitor();
+    EffectCullVisitor(bool collectLights = false);
     EffectCullVisitor(const EffectCullVisitor&);
     virtual osgUtil::CullVisitor* clone() const;
     using osgUtil::CullVisitor::apply;
     virtual void apply(osg::Geode& node);
+    virtual void reset();
 
     void clearBufferList();
-    void addBuffer(int i, osg::Texture2D* tex);
-    osg::Texture2D* getBuffer(int i);
+    void addBuffer(std::string b, osg::Texture2D* tex);
+    osg::Texture2D* getBuffer(std::string b);
 
 private:
-    std::map<int,osg::ref_ptr<osg::Texture2D> > _bufferList;
+    std::map<std::string,osg::ref_ptr<osg::Texture2D> > _bufferList;
+    std::vector<osg::ref_ptr<EffectGeode> > _lightList;
+    bool _collectLights;
 };
 }
 #endif