]> git.mxchange.org Git - simgear.git/blobdiff - simgear/scene/material/Pass.hxx
Fix removal of directories.
[simgear.git] / simgear / scene / material / Pass.hxx
index 869dabd9df0107bf99bb1bd5d4b6f26d4014223e..7b5bb3e4bef56d0796afd386b68c74cdcb5ffc10 100644 (file)
@@ -26,10 +26,23 @@ namespace simgear
 class Pass : public osg::StateSet
 {
 public:
+    typedef std::list<std::pair<int,std::string> > BufferUnitList;
+    typedef std::map<std::string,osg::Vec4> PositionedUniformMap;
+
     META_Object(simgear,Pass);
     Pass() {}
     Pass(const Pass& rhs,
          const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);
+
+    void setBufferUnit( int unit, std::string buffer ) { _bufferUnitList.push_back( std::make_pair(unit,buffer) ); }
+    const BufferUnitList& getBufferUnitList() const { return _bufferUnitList; }
+
+    void addPositionedUniform( const std::string& name, const osg::Vec4& offset ) { _positionedUniforms[name] = offset; }
+    const PositionedUniformMap& getPositionedUniformMap() const { return _positionedUniforms; }
+
+private:
+    BufferUnitList _bufferUnitList;
+    PositionedUniformMap _positionedUniforms;
 };
 
 }