|
| 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 | _forceReleaseBufferCopies (HardwareVertexBuffer *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 which have been allocated using BLT_AUTOMATIC_RELEASE; is called by OGRE. More...
|
|
HardwareVertexBufferSharedPtr | allocateVertexBufferCopy (const HardwareVertexBufferSharedPtr &sourceBuffer, BufferLicenseType licenseType, 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...
|
|
virtual void | registerVertexBufferSourceAndCopy (const HardwareVertexBufferSharedPtr &sourceBuffer, const HardwareVertexBufferSharedPtr ©) |
| Registers a vertex buffer as a copy of another. 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.