X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fbuffer.h;h=a80e52a68b9c34b00e499c6a16fb0b9e85446d39;hb=e92de029768eef5f0fd744329e589161b46d0762;hp=83e75927ae31c3a44cd81420cea8f626a39c605e;hpb=f1244e29afd2a36aafc2373d485457b4cb0411ff;p=libs%2Fgl.git diff --git a/source/core/buffer.h b/source/core/buffer.h index 83e75927..a80e52a6 100644 --- a/source/core/buffer.h +++ b/source/core/buffer.h @@ -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 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