]> git.tdb.fi Git - libs/gl.git/blobdiff - source/programdata.h
Allow setting uniform values using a Uniform object
[libs/gl.git] / source / programdata.h
index 78f7292647a97436fed9e4b28ed0bfa17280f4f0..0851f5f6a007396ab5a37a9c5968490ab31b5d10 100644 (file)
@@ -123,6 +123,7 @@ private:
        typedef std::map<Program::LayoutHash, ProgramUniforms> ProgramMap;
 
        // XXX All these mutables are a bit silly, but I'm out of better ideas
+       const Program *tied_program;
        SlotMap uniform_slots;
        std::vector<Uniform *> uniforms;
        mutable BlockMap blocks;
@@ -132,7 +133,7 @@ private:
        mutable unsigned dirty;
 
 public:
-       ProgramData();
+       ProgramData(const Program * = 0);
        ProgramData(const ProgramData &);
        ProgramData &operator=(const ProgramData &);
        ~ProgramData();
@@ -140,6 +141,7 @@ public:
 private:
        void uniform(const std::string &, Uniform *);
 public:
+       void uniform(const std::string &, const Uniform &);
        void uniform(const std::string &, int);
        void uniform(const std::string &, float);
        void uniform(const std::string &, int, int);