1 #ifndef MSP_GL_UNIFORMBLOCK_H_
2 #define MSP_GL_UNIFORMBLOCK_H_
6 #include <msp/core/noncopyable.h>
7 #include "bufferable.h"
8 #include "reflectdata.h"
20 Stores uniforms with a specific layout. Both named and default uniform blocks
23 class UniformBlock: public NonCopyable, public Bufferable
26 std::vector<char> data;
29 UniformBlock(const ReflectData::UniformBlockInfo &);
31 virtual unsigned get_data_size() const { return data.size(); }
32 virtual const void *get_data_pointer() const { return &data[0]; }
34 virtual unsigned get_alignment() const;
37 void store(const ReflectData::UniformInfo &, unsigned, const void *);