]> git.tdb.fi Git - libs/gl.git/blobdiff - source/buffer.h
Rework ProgramData to do less unnecessary work
[libs/gl.git] / source / buffer.h
index a7d4c2ba4314f8cbbc9db9fb6c2422cf0e85da2c..e254bcc70ca76a2f6cf7701cdff71faaeb8627d0 100644 (file)
@@ -31,6 +31,13 @@ enum BufferUsage
        DYNAMIC_COPY = GL_DYNAMIC_COPY
 };
 
+enum BufferAccess
+{
+       READ_ONLY = GL_READ_ONLY,
+       WRITE_ONLY = GL_WRITE_ONLY,
+       READ_WRITE = GL_READ_WRITE
+};
+
 class BufferRange;
 
 /**
@@ -80,6 +87,9 @@ public:
 
        BufferRange *create_range(unsigned, unsigned);
 
+       void *map(BufferAccess);
+       bool unmap();
+
        /** Binds the buffer in its default slot. */
        void bind() const { bind_to(type); }
 
@@ -111,6 +121,7 @@ private:
 
 public:
        BufferRange(Buffer &, unsigned, unsigned);
+       ~BufferRange();
 
        void data(const void *);