29 #ifndef __GLES2DefaultHardwareBufferManager_H__
30 #define __GLES2DefaultHardwareBufferManager_H__
45 void* lockImpl(
size_t offset,
size_t length,
LockOptions options);
47 void unlockImpl(
void);
56 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);
65 void*
getDataPtr(
size_t offset)
const {
return (
void*)(mData + offset); }
74 void* lockImpl(
size_t offset,
size_t length,
LockOptions options);
76 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); }
100 void* lockImpl(
size_t offset,
size_t length,
LockOptions options);
102 void unlockImpl(
void);
110 void readData(
size_t offset,
size_t length,
void* pDest);
112 void writeData(
size_t offset,
size_t length,
const void* pSource,
113 bool discardWholeBuffer =
false);
115 void* lock(
size_t offset,
size_t length,
LockOptions options);
119 void*
getDataPtr(
size_t offset)
const {
return (
void*)(mData + offset); }
136 createVertexBuffer(
size_t vertexSize,
size_t numVerts,
150 bool useShadowBuffer =
false,
const String& name =
"")
153 "GLES2 does not support atomic counter buffers",
154 "GLES2DefaultHardwareBufferManagerBase::createCounterBuffer");
Singleton wrapper for hardware buffer manager.
HardwareCounterBufferSharedPtr createCounterBuffer(size_t sizeBytes, HardwareBuffer::Usage usage=HardwareBuffer::HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE, bool useShadowBuffer=false, const String &name="")
Create counter buffer.
Specialisation of HardwareIndexBuffer for emulation.
Specialisation of HardwareBuffer for vertex index buffers, still abstract.
~GLES2DefaultHardwareBufferManager()
Shared pointer implementation used to share vertex buffers.
void * getDataPtr(size_t offset) const
Specialisation of HardwareVertexBuffer for emulation.
Combination of HBU_DYNAMIC, HBU_WRITE_ONLY and HBU_DISCARDABLE.
Shared pointer implementation used to share index buffers.
LockOptions
Locking options.
Base definition of a hardware buffer manager.
Usage
Enums describing buffer usage; not mutually exclusive.
Specialisation of HardwareBufferManager to emulate hardware buffers.
#define OGRE_EXCEPT(code, desc, src)
GLES2DefaultHardwareBufferManagerBase as a Singleton.
void * getDataPtr(size_t offset) const
Shared pointer implementation used to share counter buffers.
Specialisation of HardwareBuffer for a vertex buffer.
GLES2DefaultHardwareBufferManager()
Reference-counted shared pointer, used for objects where implicit destruction is required.