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);
84 void unlockImpl(
void);
86 bool updateBufferResources(
const char* systemMemoryBuffer,
BufferResources* bufferResources);
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.
char * mSystemMemoryBuffer
D3DVERTEXBUFFER_DESC mBufferDesc
Specialisation of HardwareBuffer for a vertex buffer.
Represents a Direct3D rendering resource.