28 #ifndef __D3D9HARDWAREINDEXBUFFER_H__
29 #define __D3D9HARDWAREINDEXBUFFER_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 IDirect3DIndexBuffer9* getD3DIndexBuffer(
void);
82 void* lockImpl(
size_t offset,
size_t length,
LockOptions options);
84 void unlockImpl(
void);
86 bool updateBufferResources(
const char* systemMemoryBuffer,
BufferResources* bufferResources);
D3DINDEXBUFFER_DESC mBufferDesc
Specialisation of HardwareBuffer for vertex index buffers, still abstract.
IDirect3DIndexBuffer9 * mBuffer
DeviceToBufferResourcesMap mMapDeviceToBufferResources
LockOptions
Locking options.
Base definition of a hardware buffer manager.
Usage
Enums describing buffer usage; not mutually exclusive.
map< IDirect3DDevice9 *, BufferResources * >::type DeviceToBufferResourcesMap
DeviceToBufferResourcesMap::iterator DeviceToBufferResourcesIterator
char * mSystemMemoryBuffer
Represents a Direct3D rendering resource.