29 #ifndef __GLDefaultHardwareBufferManager_H__
30 #define __GLDefaultHardwareBufferManager_H__
45 void* lockImpl(
size_t offset,
size_t length,
LockOptions options);
47 void unlockImpl(
void);
55 void readData(
size_t offset,
size_t length,
void* pDest);
58 void writeData(
size_t offset,
size_t length,
const void* pSource,
59 bool discardWholeBuffer =
false);
61 void* lock(
size_t offset,
size_t length,
LockOptions options);
66 void*
getDataPtr(
size_t offset)
const {
return (
void*)(mData + offset); }
75 void* lockImpl(
size_t offset,
size_t length,
LockOptions options);
77 void unlockImpl(
void);
82 void readData(
size_t offset,
size_t length,
void* pDest);
84 void writeData(
size_t offset,
size_t length,
const void* pSource,
85 bool discardWholeBuffer =
false);
87 void* lock(
size_t offset,
size_t length,
LockOptions options);
91 void*
getDataPtr(
size_t offset)
const {
return (
void*)(mData + offset); }
108 createVertexBuffer(
size_t vertexSize,
size_t numVerts,
121 bool useShadowBuffer =
false,
const String& name =
"");
void * getDataPtr(size_t offset) const
Shared pointer implementation used to share index buffers.
Specialisation of HardwareBufferManager to emulate hardware buffers.
Specialisation of HardwareBuffer for a vertex buffer.
Singleton wrapper for hardware buffer manager.
GLDefaultHardwareBufferManagerBase as a Singleton.
Specialisation of HardwareBuffer for vertex index buffers, still abstract.
Specialisation of HardwareVertexBuffer for emulation.
void * getDataPtr(size_t offset) const
Shared pointer implementation used to share counter buffers.
Combination of HBU_DYNAMIC, HBU_WRITE_ONLY and HBU_DISCARDABLE.
Shared pointer implementation used to share vertex buffers.
Base definition of a hardware buffer manager.
~GLDefaultHardwareBufferManager()
Usage
Enums describing buffer usage; not mutually exclusive.
Specialisation of HardwareIndexBuffer for emulation.
GLDefaultHardwareBufferManager()
LockOptions
Locking options.
Reference-counted shared pointer, used for objects where implicit destruction is required.