]> git.mxchange.org Git - simgear.git/blobdiff - simgear/scene/material/Effect.hxx
hla: Provide a directly property based api for property data element.
[simgear.git] / simgear / scene / material / Effect.hxx
index 0690db3a76a5f17e36334fafd24429a1b778b2e9..59eea81d8027fe18b4d08276d21df493527e9d01 100644 (file)
@@ -80,6 +80,18 @@ public:
     Effect(const Effect& rhs,
            const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);
     osg::StateSet* getDefaultStateSet();
+
+    // Define what needs to be generated for this effect
+    enum Generator
+    {
+        NORMAL,
+        TANGENT,
+        BINORMAL
+    };
+    void setGenerator(Generator what, int where) { generator[what] = where; }
+    int getGenerator(Generator what) const;  // Returns -1 if generator should not be used
+    std::map<Generator, int> generator;  // What is generated into which attribute location
+
     std::vector<osg::ref_ptr<Technique> > techniques;
     SGPropertyNode_ptr root;
     // Pointer to the parameters node, if it exists