]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/buffer.h
Rewrite state management
[libs/gl.git] / source / core / buffer.h
index 83e75927ae31c3a44cd81420cea8f626a39c605e..a80e52a68b9c34b00e499c6a16fb0b9e85446d39 100644 (file)
@@ -21,15 +21,6 @@ public:
        virtual ~buffer_too_small() throw() { }
 };
 
-enum BufferType
-{
-       ARRAY_BUFFER         = GL_ARRAY_BUFFER,
-       ELEMENT_ARRAY_BUFFER = GL_ELEMENT_ARRAY_BUFFER,
-       PIXEL_PACK_BUFFER    = GL_PIXEL_PACK_BUFFER,
-       PIXEL_UNPACK_BUFFER  = GL_PIXEL_UNPACK_BUFFER,
-       UNIFORM_BUFFER       = GL_UNIFORM_BUFFER
-};
-
 enum BufferUsage
 {
        STREAM_DRAW  = GL_STREAM_DRAW,
@@ -66,16 +57,10 @@ private:
        unsigned size;
        bool allocated;
 
-       static const Buffer *bound[5];
-
 public:
        Buffer();
        ~Buffer();
 
-private:
-       static void require_buffer_type(BufferType);
-
-public:
        /** Returns the OpenGL ID of the buffer.  For internal use only. */
        unsigned get_id() const { return id; }
 
@@ -106,57 +91,13 @@ public:
 
        void require_size(unsigned) const;
 
-       BufferRange *create_range(unsigned, unsigned);
-
        void *map();
        DEPRECATED void *map(BufferAccess) { return map(); }
        bool unmap();
 
-       /** Binds the buffer. */
-       void bind_to(BufferType) const;
-
-       static const Buffer *current(BufferType);
-       static void unbind_from(BufferType);
-private:
-       static const Buffer *&binding(BufferType);
-       static bool set_current(BufferType, const Buffer *);
-
-public:
        void set_debug_name(const std::string &);
 };
 
-
-/**
-A proxy for a subset of a buffer.  Can be bound for use with uniform blocks.
-*/
-class BufferRange
-{
-private:
-       Buffer &buffer;
-       unsigned offset;
-       unsigned size;
-
-       static std::vector<const BufferRange *> bound_uniform;
-
-public:
-       BufferRange(Buffer &, unsigned, unsigned);
-       ~BufferRange();
-
-       void data(const void *);
-
-       void bind_to(BufferType, unsigned);
-
-       static const BufferRange *current(BufferType t, unsigned i) { return binding(t, i); }
-       static void unbind_from(BufferType, unsigned);
-private:
-       static const BufferRange *&binding(BufferType, unsigned);
-       static bool set_current(BufferType, unsigned, const BufferRange *);
-
-public:
-       DEPRECATED static unsigned get_n_uniform_buffer_bindings();
-       DEPRECATED static unsigned get_uniform_buffer_alignment();
-};
-
 } // namespace GL
 } // namespace Msp