#include <vector>
#include "bufferable.h"
#include "program.h"
+#include "vector.h"
namespace Msp {
namespace GL {
class BufferRange;
-class Color;
class Matrix;
class Uniform;
-class Vector3;
-class Vector4;
+struct Color;
+/**
+Stores uniforms with a specific layout. Both named and default uniform blocks
+are supported.
+*/
class UniformBlock: public Bufferable
{
private:
private:
virtual unsigned get_data_size() const { return size; }
+ virtual const void *get_data_pointer() const { return &data[0]; }
virtual unsigned get_alignment() const;
virtual void offset_changed();
- virtual void upload_data() const;
+ virtual void upload_data(char *) const;
public:
void attach(int, const Uniform &);