|
| | GL3PlusHardwareBufferManager () |
| |
| | ~GL3PlusHardwareBufferManager () override |
| |
| void * | allocateScratch (uint32 size) |
| | Allocator method to allow us to use a pool of memory as a scratch area for hardware buffers.
|
| |
| void | deallocateScratch (void *ptr) |
| |
| size_t | getGLMapBufferThreshold () const |
| | Threshold after which glMapBuffer is used and not glBufferSubData.
|
| |
| void | setGLMapBufferThreshold (const size_t value) |
| |
| | HardwareBufferManager (HardwareBufferManagerBase *imp) |
| |
| | ~HardwareBufferManager () override |
| |
| void | _forceReleaseBufferCopies (const HardwareVertexBufferSharedPtr &sourceBuffer) override |
| | Internal method that forces the release of copies of a given buffer.
|
| |
| void | _forceReleaseBufferCopies (HardwareVertexBuffer *sourceBuffer) override |
| | Internal method that forces the release of copies of a given buffer.
|
| |
| void | _freeUnusedBufferCopies () override |
| | Free all unused vertex buffer copies.
|
| |
| void | _notifyIndexBufferDestroyed (HardwareIndexBuffer *buf) |
| | Notification that a hardware index buffer has been destroyed.
|
| |
| void | _notifyVertexBufferDestroyed (HardwareVertexBuffer *buf) |
| | Notification that a hardware vertex buffer has been destroyed.
|
| |
| void | _releaseBufferCopies (bool forceFreeUnused=false) override |
| | Internal method for releasing all temporary buffers which have been allocated using BLT_AUTOMATIC_RELEASE; is called by OGRE.
|
| |
| HardwareVertexBufferSharedPtr | allocateVertexBufferCopy (const HardwareVertexBufferSharedPtr &sourceBuffer, BufferLicenseType licenseType, HardwareBufferLicensee *licensee, bool copyData=false) override |
| | Allocates a copy of a given vertex buffer.
|
| |
| HardwareIndexBufferSharedPtr | createIndexBuffer (HardwareIndexBuffer::IndexType itype, size_t numIndexes, HardwareBuffer::Usage usage, bool useShadowBuffer=false) override |
| | Create a hardware index buffer.
|
| |
| HardwareVertexBufferSharedPtr | createVertexBuffer (size_t vertexSize, size_t numVerts, HardwareBuffer::Usage usage, bool useShadowBuffer=false) override |
| | Create a hardware vertex buffer.
|
| |
| VertexBufferBinding * | createVertexBufferBinding () override |
| | Creates a new VertexBufferBinding.
|
| |
| VertexDeclaration * | createVertexDeclaration () override |
| | Creates a new vertex declaration.
|
| |
| void | destroyVertexBufferBinding (VertexBufferBinding *binding) override |
| | Destroys a VertexBufferBinding.
|
| |
| void | destroyVertexDeclaration (VertexDeclaration *decl) override |
| | Destroys a vertex declaration.
|
| |
| void | registerVertexBufferSourceAndCopy (const HardwareVertexBufferSharedPtr &sourceBuffer, const HardwareVertexBufferSharedPtr ©) override |
| | Registers a vertex buffer as a copy of another.
|
| |
| void | releaseVertexBufferCopy (const HardwareVertexBufferSharedPtr &bufferCopy) override |
| | Manually release a vertex buffer copy for others to subsequently use.
|
| |
| void | touchVertexBufferCopy (const HardwareVertexBufferSharedPtr &bufferCopy) override |
| | Tell engine that the vertex buffer copy intent to reuse.
|
| |
| | HardwareBufferManagerBase () |
| |
| virtual | ~HardwareBufferManagerBase () |
| |
| void | _notifyIndexBufferDestroyed (HardwareIndexBuffer *buf) |
| | Notification that a hardware index buffer has been destroyed.
|
| |
| void | _notifyVertexBufferDestroyed (HardwareVertexBuffer *buf) |
| | Notification that a hardware vertex buffer has been destroyed.
|
| |
| | Singleton () |
| |
| | ~Singleton () |
| |
| void * Ogre::v1::GL3PlusHardwareBufferManager::allocateScratch |
( |
uint32 | size | ) |
|
|
inline |
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.
References allocateScratch().
Referenced by allocateScratch().