X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Funiformblock.h;h=5e88f0f80de81919ebcc510defaccc6f778e7b47;hb=be6ffe96ecb4707599fe1a6f620c348760213d46;hp=9f2a0849e9cca10795c759456dc12fcf6405a386;hpb=8366f8951984aa436938b1bb18a57067ff2260c1;p=libs%2Fgl.git diff --git a/source/core/uniformblock.h b/source/core/uniformblock.h index 9f2a0849..5e88f0f8 100644 --- a/source/core/uniformblock.h +++ b/source/core/uniformblock.h @@ -1,26 +1,20 @@ #ifndef MSP_GL_UNIFORMBLOCK_H_ #define MSP_GL_UNIFORMBLOCK_H_ -#include #include #include #include "bufferable.h" #include "reflectdata.h" -#include "vector.h" +#include "uniformblock_backend.h" namespace Msp { namespace GL { -class BufferRange; -class Matrix; -class Uniform; -struct Color; - /** Stores uniforms with a specific layout. Both named and default uniform blocks are supported. */ -class UniformBlock: public NonCopyable, public Bufferable +class UniformBlock: public UniformBlockBackend, public NonCopyable, public Bufferable { private: std::vector data; @@ -28,13 +22,13 @@ private: public: UniformBlock(const ReflectData::UniformBlockInfo &); - virtual unsigned get_data_size() const { return data.size(); } + virtual std::size_t get_data_size() const { return data.size(); } virtual const void *get_data_pointer() const { return &data[0]; } private: - virtual unsigned get_alignment() const; + virtual std::size_t get_alignment() const; public: - void store(const ReflectData::UniformInfo &, const Uniform &); + void store(const ReflectData::UniformInfo &, std::size_t, const void *); }; } // namespace GL