|
| | GLHardwareBufferManager () |
| |
| | ~GLHardwareBufferManager () |
| |
| void * | allocateScratch (uint32 size) |
| | Allocator method to allow us to use a pool of memory as a scratch area for hardware buffers. More...
|
| |
| HardwareIndexBufferSharedPtr | createIndexBuffer (HardwareIndexBuffer::IndexType itype, size_t numIndexes, HardwareBuffer::Usage usage, bool useShadowBuffer=false) override |
| | Create a hardware vertex buffer. More...
|
| |
| RenderToVertexBufferSharedPtr | createRenderToVertexBuffer () override |
| | Create a render to vertex buffer. More...
|
| |
| HardwareVertexBufferSharedPtr | createVertexBuffer (size_t vertexSize, size_t numVerts, HardwareBuffer::Usage usage, bool useShadowBuffer=false) override |
| | Creates a vertex buffer. More...
|
| |
| void | deallocateScratch (void *ptr) |
| |
| size_t | getGLMapBufferThreshold () const |
| | Threshold after which glMapBuffer is used and not glBufferSubData. More...
|
| |
| void | setGLMapBufferThreshold (const size_t value) |
| |
| | HardwareBufferManager () |
| |
| | ~HardwareBufferManager () |
| |
| | HardwareBufferManagerBase () |
| |
| virtual | ~HardwareBufferManagerBase () |
| |
| void | _forceReleaseBufferCopies (const HardwareVertexBufferSharedPtr &sourceBuffer) |
| | Internal method that forces the release of copies of a given buffer. More...
|
| |
| void | _freeUnusedBufferCopies (void) |
| | Free all unused vertex buffer copies. More...
|
| |
| void | _notifyVertexBufferDestroyed (HardwareVertexBuffer *buf) |
| | Notification that a hardware vertex buffer has been destroyed. More...
|
| |
| void | _releaseBufferCopies (bool forceFreeUnused=false) |
| | Internal method for releasing all temporary buffers; is called by OGRE. More...
|
| |
| HardwareVertexBufferSharedPtr | allocateVertexBufferCopy (const HardwareVertexBufferSharedPtr &sourceBuffer, HardwareBufferLicensee *licensee, bool copyData=false) |
| | Allocates a copy of a given vertex buffer. More...
|
| |
| virtual HardwareBufferPtr | createUniformBuffer (size_t sizeBytes, HardwareBufferUsage usage=HBU_CPU_TO_GPU, bool useShadowBuffer=false) |
| | Create uniform buffer. More...
|
| |
| VertexBufferBinding * | createVertexBufferBinding (void) |
| | Creates a new VertexBufferBinding. More...
|
| |
| VertexDeclaration * | createVertexDeclaration (void) |
| | Creates a new vertex declaration. More...
|
| |
| void | destroyVertexBufferBinding (VertexBufferBinding *binding) |
| | Destroys a VertexBufferBinding. More...
|
| |
| void | destroyVertexDeclaration (VertexDeclaration *decl) |
| | Destroys a vertex declaration. More...
|
| |
| void | releaseVertexBufferCopy (const HardwareVertexBufferSharedPtr &bufferCopy) |
| | Manually release a vertex buffer copy for others to subsequently use. More...
|
| |
| void | touchVertexBufferCopy (const HardwareVertexBufferSharedPtr &bufferCopy) |
| | Tell engine that the vertex buffer copy intent to reuse. More...
|
| |
| | Singleton (void) |
| |
| | ~Singleton (void) |
| |
Implementation of HardwareBufferManager for OpenGL.
| void* Ogre::GLHardwareBufferManager::allocateScratch |
( |
uint32 |
size | ) |
|
Allocator method to allow us to use a pool of memory as a scratch area for hardware buffers.
This is because glMapBuffer is incredibly inefficient, seemingly no matter what options we give it. So for the period of lock/unlock, we will instead allocate a section of a local memory pool, and use glBufferSubDataARB / glGetBufferSubDataARB instead.