X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuffer.h;h=b0f23ef26cbbce70bc3a880fdfb85488e9995f7b;hb=66181b3f47322ffc9b8aebf04a8c222abe1a75a2;hp=fc9ace78c0ac0f48194a20fdcb1a8e4012be01e1;hpb=5f78db03b3285c977760a41da1e3927720e50352;p=libs%2Fgl.git diff --git a/source/buffer.h b/source/buffer.h index fc9ace78..b0f23ef2 100644 --- a/source/buffer.h +++ b/source/buffer.h @@ -4,6 +4,7 @@ #include #include #include +#include #include "gl.h" #include #include @@ -82,16 +83,23 @@ public: /** Returns the default binding type for the buffer. */ BufferType get_type() const { return type; } + /** Defines the storage size of the buffer. Must be called before data can + be uploaded. Storage cannot be changed once set. */ + void storage(unsigned); + /** Sets the usage hint of the buffer. It will take effect the next time the buffer's contents are defined. */ - void set_usage(BufferUsage); + DEPRECATED void set_usage(BufferUsage); /** Uploads data into the buffer, completely replacing any previous - contents. */ - void data(unsigned, const void *); + contents. Storage must be defined beforehand. The data must have size + matching the defined storage. */ + void data(const void *); + + DEPRECATED void data(unsigned, const void *); - /** Overwrites part of the buffer data with new data. The buffer size can - not be changed with this call. */ + /** Overwrites part of the buffer data with new data. Storage must be + defined beforehand. */ void sub_data(unsigned, unsigned, const void *); unsigned get_size() const { return size; } @@ -100,7 +108,8 @@ public: BufferRange *create_range(unsigned, unsigned); - void *map(BufferAccess); + void *map(); + DEPRECATED void *map(BufferAccess) { return map(); } bool unmap(); /** Binds the buffer in its default slot. */