28 #ifndef __D3D9HARDWAREVERTEXBUFFER_H__
29 #define __D3D9HARDWAREVERTEXBUFFER_H__
46 void readData(
size_t offset,
size_t length,
void* pDest);
48 void writeData(
size_t offset,
size_t length,
const void* pSource,
49 bool discardWholeBuffer =
false);
52 virtual void notifyOnDeviceCreate(IDirect3DDevice9* d3d9Device);
55 virtual void notifyOnDeviceDestroy(IDirect3DDevice9* d3d9Device);
58 virtual void notifyOnDeviceLost(IDirect3DDevice9* d3d9Device);
61 virtual void notifyOnDeviceReset(IDirect3DDevice9* d3d9Device);
64 void createBuffer(IDirect3DDevice9* d3d9Device, D3DPOOL ePool);
67 IDirect3DVertexBuffer9* getD3D9VertexBuffer(
void);
82 void* lockImpl(
size_t offset,
size_t length,
LockOptions options);
85 void unlockImpl(
void);
91 bool updateBufferResources(
const char* systemMemoryBuffer,
BufferResources* bufferResources);
94 char* _lockBuffer(
BufferResources* bufferResources,
size_t offset,
size_t length);
DeviceToBufferResourcesMap::iterator DeviceToBufferResourcesIterator
IDirect3DVertexBuffer9 * mBuffer
LockOptions
Locking options.
DeviceToBufferResourcesMap mMapDeviceToBufferResources
Specialisation of HardwareVertexBuffer for D3D9.
map< IDirect3DDevice9 *, BufferResources * >::type DeviceToBufferResourcesMap
Base definition of a hardware buffer manager.
Usage
Enums describing buffer usage; not mutually exclusive.
D3DVERTEXBUFFER_DESC mBufferDesc
BufferResources * mSourceBuffer
Specialisation of HardwareBuffer for a vertex buffer.
char * mSourceLockedBytes
Represents a Direct3D rendering resource.