X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Funiformblock.h;h=18b651c7b4e498c12f2bdccba4c190dbe5c30663;hb=a3cc9f4469153396c7ad0868f3cbb2d2f698d710;hp=5a037edb4b5e53323e32bddf7a1fbf44f4353581;hpb=492325880c47450f50dcdebdcb336b37230ef867;p=libs%2Fgl.git diff --git a/source/core/uniformblock.h b/source/core/uniformblock.h index 5a037edb..18b651c7 100644 --- a/source/core/uniformblock.h +++ b/source/core/uniformblock.h @@ -27,7 +27,6 @@ public: virtual ~UniformBlock() { } virtual void attach(const Program::UniformInfo &, const Uniform &) = 0; - virtual void apply(int) const = 0; }; /** Stores uniforms for the default uniform block. Uniforms are associated @@ -35,14 +34,14 @@ with locations, as returned by Program::get_uniform_location. */ class DefaultUniformBlock: public UniformBlock { private: - std::map uniforms; + std::vector uniforms; public: DefaultUniformBlock(); virtual void attach(const Program::UniformInfo &, const Uniform &); void attach(int, const Uniform &); - virtual void apply(int) const; + void apply() const; }; /** Stores uniforms for a buffer-backed uniform block. Uniform values are @@ -53,21 +52,17 @@ class BufferBackedUniformBlock: public UniformBlock, public Bufferable private: unsigned size; std::vector data; - mutable BufferRange *buf_range; public: BufferBackedUniformBlock(unsigned); - virtual ~BufferBackedUniformBlock(); -private: virtual unsigned get_data_size() const { return size; } +private: virtual const void *get_data_pointer() const { return &data[0]; } virtual unsigned get_alignment() const; - virtual void location_changed(Buffer *, unsigned, unsigned) const; public: void attach(const Program::UniformInfo &, const Uniform &); - virtual void apply(int) const; }; } // namespace GL