#include <msp/core/noncopyable.h>
#include "bufferable.h"
#include "reflectdata.h"
+#include "uniformblock_backend.h"
namespace Msp {
namespace GL {
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<char> data;
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 &, unsigned, const void *);
+ void store(const ReflectData::UniformInfo &, std::size_t, const void *);
};
} // namespace GL