28 #ifndef __D3D11HARDWAREVERTEXBUFFER_H__
29 #define __D3D11HARDWAREVERTEXBUFFER_H__
53 void readData(
size_t offset,
size_t length,
void* pDest);
54 void writeData(
size_t offset,
size_t length,
const void* pSource,
55 bool discardWholeBuffer =
false);
58 size_t dstOffset,
size_t length,
bool discardWholeBuffer =
false);
bool isLocked(void) const
void unlockImpl(void)
Internal implementation of unlock()
ID3D11Buffer * getD3DVertexBuffer(void) const
Get the D3D-specific vertex buffer.
D3D11HardwareVertexBuffer(HardwareBufferManagerBase *mgr, size_t vertexSize, size_t numVertices, HardwareBuffer::Usage usage, D3D11Device &device, bool useSystemMem, bool useShadowBuffer)
void unlock(void)
Releases the lock on this buffer.
D3D11HardwareBuffer * mBufferImpl
bool recreateIfDefaultPool(D3D11Device &device)
For dealing with lost devices - recreate the resource if in the default pool.
LockOptions
Locking options.
bool releaseIfDefaultPool(void)
For dealing with lost devices - release the resource if in the default pool.
Base definition of a hardware buffer manager.
Usage
Enums describing buffer usage; not mutually exclusive.
Specialisation of HardwareVertexBuffer for D3D11.
void * lockImpl(size_t offset, size_t length, LockOptions options)
Internal implementation of lock()
void copyData(HardwareBuffer &srcBuffer, size_t srcOffset, size_t dstOffset, size_t length, bool discardWholeBuffer=false)
Copy data from another buffer into this one.
Abstract class defining common features of hardware buffers.
void * lock(size_t offset, size_t length, LockOptions options)
Lock the buffer for (potentially) reading / writing.
Specialisation of HardwareBuffer for a vertex buffer.
Base implementation of a D3D11 buffer, dealing with all the common aspects.
void readData(size_t offset, size_t length, void *pDest)
Reads data from the buffer and places it in the memory pointed to by pDest.
void writeData(size_t offset, size_t length, const void *pSource, bool discardWholeBuffer=false)
Writes data to the buffer from an area of system memory; note that you must ensure that your buffer i...
~D3D11HardwareVertexBuffer()