+++ /dev/null
-#ifndef MSP_GL_UNIFORMBLOCK_H_
-#define MSP_GL_UNIFORMBLOCK_H_
-
-#include <map>
-#include <vector>
-#include "bufferable.h"
-#include "program.h"
-
-namespace Msp {
-namespace GL {
-
-class BufferRange;
-class Color;
-class Matrix;
-class Uniform;
-class Vector3;
-class Vector4;
-
-class UniformBlock: public Bufferable
-{
-private:
- std::map<int, const Uniform *> uniforms;
- unsigned size;
- std::vector<char> data;
- mutable BufferRange *buf_range;
-
- UniformBlock(const UniformBlock &);
- UniformBlock &operator=(const UniformBlock &);
-public:
- UniformBlock();
- UniformBlock(unsigned);
- ~UniformBlock();
-
-private:
- virtual unsigned get_data_size() const { return size; }
- virtual void offset_changed();
- virtual void upload_data() const;
-
-public:
- void attach(int, const Uniform &);
- void attach(const Program::UniformInfo &, const Uniform &);
-
- void apply(int) const;
-};
-
-} // namespace GL
-} // namespace Msp
-
-#endif