GL3+ doesn't support mapping the same buffer twice even if the regions don't overlap.
More...
|
| GL3PlusDynamicBuffer (GLuint vboName, GLuint vboSize, GL3PlusVaoManager *vaoManager, BufferType persistentMethod) |
|
| GL3PlusDynamicBuffer (GLuint vboName, GLuint vboSize, GL3PlusVaoManager *vaoManager, BufferType persistentMethod) |
|
| ~GL3PlusDynamicBuffer () |
|
| ~GL3PlusDynamicBuffer () |
|
void | flush (size_t ticket, size_t start, size_t count) |
| Flushes the region of the given ticket. start is 0-based.
|
|
void | flush (size_t ticket, size_t start, size_t count) |
| Flushes the region of the given ticket. start is 0-based.
|
|
GLuint | getVboName () const |
|
GLuint | getVboName () const |
|
void *RESTRICT_ALIAS_RETURN | map (size_t start, size_t count, size_t &outTicket) |
| Assumes mVboName is already bound to GL_COPY_WRITE_BUFFER!!!
|
|
void *RESTRICT_ALIAS_RETURN | map (size_t start, size_t count, size_t &outTicket) |
| Assumes mVboName is already bound to GL_COPY_WRITE_BUFFER!!!
|
|
void | unmap (size_t ticket) |
| Unmaps given ticket (got from.
|
|
void | unmap (size_t ticket) |
| Unmaps given ticket (got from.
|
|
GL3+ doesn't support mapping the same buffer twice even if the regions don't overlap.
For performance we keep many buffers as one big buffer, but for compatibility reasons (with GL3/DX10 HW) we treat them as separate buffers.
- This class takes care of mapping buffers once while allowing BufferInterface to map subregions of it as if they were separate buffers.