OGRE
13.6
Object-Oriented Graphics Rendering Engine
|
Implementation of HardwareBufferManager for D3D11. More...
#include <OgreD3D11HardwareBufferManager.h>
Public Member Functions | |
D3D11HardwareBufferManager (D3D11Device &device) | |
~D3D11HardwareBufferManager () | |
HardwareIndexBufferSharedPtr | createIndexBuffer (HardwareIndexBuffer::IndexType itype, size_t numIndexes, HardwareBuffer::Usage usage, bool useShadowBuffer=false) |
Create a hardware vertex buffer. More... | |
RenderToVertexBufferSharedPtr | createRenderToVertexBuffer () |
Create a render to vertex buffer. More... | |
HardwareVertexBufferSharedPtr | createStreamOutputVertexBuffer (size_t vertexSize, size_t numVerts, HardwareBuffer::Usage usage, bool useShadowBuffer=false) |
Creates a stream output vertex buffer. More... | |
HardwareBufferPtr | createUniformBuffer (size_t sizeBytes, HardwareBufferUsage usage=HBU_CPU_TO_GPU, bool useShadowBuffer=false) override |
Create uniform buffer. More... | |
HardwareVertexBufferSharedPtr | createVertexBuffer (size_t vertexSize, size_t numVerts, HardwareBuffer::Usage usage, bool useShadowBuffer=false) |
Creates a vertex buffer. More... | |
Public Member Functions inherited from Ogre::HardwareBufferManager | |
HardwareBufferManager () | |
~HardwareBufferManager () | |
Public Member Functions inherited from Ogre::HardwareBufferManagerBase | |
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... | |
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... | |
Public Member Functions inherited from Ogre::Singleton< HardwareBufferManager > | |
Singleton (void) | |
~Singleton (void) | |
Additional Inherited Members | |
Public Types inherited from Ogre::HardwareBufferManagerBase | |
enum | BufferLicenseType { BLT_MANUAL_RELEASE , BLT_AUTOMATIC_RELEASE } |
Static Public Member Functions inherited from Ogre::HardwareBufferManager | |
static HardwareBufferManager & | getSingleton (void) |
Get the singleton instance. More... | |
static HardwareBufferManager * | getSingletonPtr (void) |
Get the singleton instance. More... | |
Static Public Member Functions inherited from Ogre::Singleton< HardwareBufferManager > | |
static HardwareBufferManager & | getSingleton (void) |
Get the singleton instance. More... | |
static HardwareBufferManager * | getSingletonPtr (void) |
Get the singleton instance. More... | |
Implementation of HardwareBufferManager for D3D11.
Ogre::D3D11HardwareBufferManager::D3D11HardwareBufferManager | ( | D3D11Device & | device | ) |
Ogre::D3D11HardwareBufferManager::~D3D11HardwareBufferManager | ( | ) |
|
virtual |
Creates a vertex buffer.
Implements Ogre::HardwareBufferManagerBase.
HardwareVertexBufferSharedPtr Ogre::D3D11HardwareBufferManager::createStreamOutputVertexBuffer | ( | size_t | vertexSize, |
size_t | numVerts, | ||
HardwareBuffer::Usage | usage, | ||
bool | useShadowBuffer = false |
||
) |
Creates a stream output vertex buffer.
|
virtual |
Create a hardware vertex buffer.
Implements Ogre::HardwareBufferManagerBase.
|
virtual |
Create a render to vertex buffer.
Reimplemented from Ogre::HardwareBufferManagerBase.
|
overridevirtual |
Create uniform buffer.
This type of buffer allows the upload of shader constants once, and sharing between shader stages or even shaders from another materials. The update shall be triggered by GpuProgramParameters, if is dirty
Reimplemented from Ogre::HardwareBufferManagerBase.