Add VertexBuffer::Mapper for RAII vbo mapping

This commit is contained in:
vrld
2012-03-07 22:59:23 +01:00
parent 17dc8760b9
commit 4947498488
2 changed files with 29 additions and 3 deletions
@@ -173,6 +173,33 @@ namespace opengl
VertexBuffer &buf;
};
class Mapper
{
public:
/**
* Memory-maps a VertexBuffer.
*/
Mapper(VertexBuffer& buffer, GLenum access)
: buf(buffer)
{ elems = buf.map(access); }
/**
* unmaps the buffer
*/
~Mapper()
{ buf.unmap(); }
/**
* Get pointer to memory mapped region
*/
void* get()
{ return elems; }
private:
VertexBuffer &buf;
void* elems;
};
private:
// The size of the buffer, in bytes.