+++ /dev/null
-#ifndef MSP_GL_BUFFERABLE_H_
-#define MSP_GL_BUFFERABLE_H_
-
-namespace Msp {
-namespace GL {
-
-class Buffer;
-
-class Bufferable
-{
-protected:
- Buffer *buffer;
- unsigned buffer_offset;
- Bufferable *next_in_buffer;
- Bufferable *prev_in_buffer;
- mutable bool dirty;
-
- Bufferable();
-public:
- virtual ~Bufferable();
-
- void use_buffer(Buffer *, Bufferable * = 0);
-private:
- void unlink_from_buffer();
-
-protected:
- virtual unsigned get_data_size() const = 0;
-
- void update_buffer_offset();
- virtual void offset_changed() { }
-
- void update_buffer_data() const;
- virtual void upload_data() const = 0;
-};
-
-} // namespace GL
-} // namespace Msp
-
-#endif