50 virtual void tearDown(
void);
53 virtual unsigned int releaseHandle(
void);
58 virtual bool updateBuffer(
const int sizeToTransferInBytes,
const void* data);
64 virtual bool updateBuffer(
const int offsetInBytes,
const int sizeToTransferInBytes,
const void* data);
69 virtual void clearBuffer(
unsigned int clearValue);
72 virtual void bind()
const;
76 virtual void unbind()
const;
81 virtual unsigned char* stagingBuffer(
void)
const;
90 virtual unsigned char* stagingBufferWithSize(
unsigned int requestedSizeInBytes);
94 virtual void syncStagingBufferToGpu(
unsigned int offset,
unsigned int sizeInBytes);
98 virtual void syncStagingBufferToGpu();
105 virtual bool bufferSubData(
unsigned int offset,
unsigned int sizeInBytes,
const void *data);
109 virtual void resetStagingBuffer();
112 virtual int sizeInBytes(
void)
const;
115 virtual const unsigned int handle(
void)
const;
118 virtual void setResizeMultiplier(
float rmul);
124 virtual void setUseIncrementalUpdate(
bool incrementalUpdate);
127 virtual bool useIncrementalUpdate();
130 virtual float resizeMultiplier();
133 unsigned int type(
void)
const;
137 virtual uint64_t gpuResidentAddress();
142 virtual const void* mapForReading(
void)
const;
147 virtual void unMap(
void)
const;
154 void printContents(std::ostream& outputStream,
const std::string& strNumPrefix,
const std::string& strValPrefix)
const
160 const T* pRepType = (
const T*)(mapForReading());
163 const size_t numOfRepTypes = sizeInBytes() /
sizeof(T);
164 outputStream << strNumPrefix << numOfRepTypes << std::endl;
165 for (
int i = 0; i < numOfRepTypes; ++i)
167 outputStream << strValPrefix <<
"[" << i <<
"]: "<< pRepType[i] << std::endl;
177 virtual bool createAndBindBuffer();
181 virtual int calculateNewSize(
int requestedNewSizeInBytes);
int myLastBufferTransferOffset
Definition: DtGlBuffer.h:196
DtUsage myUsage
Definition: DtGlBuffer.h:192
DtBufferType
An abstract buffer type (vertex buffer, index buffer, etc) Used, for example, to create DtGlBuffers o...
Definition: DtBufferType.h:15
int mySizeInBytes
Definition: DtGlBuffer.h:188
bool myMutableIsMapped
Definition: DtGlBuffer.h:200
DtCpuAccess myAccessType
Definition: DtGlBuffer.h:193
std::string myName
Definition: DtGlBuffer.h:185
DtUsage
Definition: DtUsage.h:13
Enumerations for cpu access required by textures/buffers.
unsigned int myHandle
Definition: DtGlBuffer.h:186
unsigned int myType
Definition: DtGlBuffer.h:187
binderNoArgs< _Fn > bind(const _Fn &_Func, const _Ty &_Left)
Definition: DtSTLUtilities.h:76
bool myUseIncrementalUpdate
Definition: DtGlBuffer.h:195
unsigned char * myStagingBuffer
Definition: DtGlBuffer.h:190
bool myIsResident
Definition: DtGlBuffer.h:198
bool myHasStagingBuffer
Definition: DtGlBuffer.h:191
A generic OpenGL buffer.
Definition: DtGlBuffer.h:27
uint64_t myResidentAddress
Definition: DtGlBuffer.h:197
#define DT_DLL_VRVGRAPHICSUTILS
Definition: vrvGraphicsUtils.h:18
voidpf uLong offset
Definition: ioapi.h:42
DtCpuAccess
Definition: DtCpuAccess.h:13
void printContents(std::ostream &outputStream, const std::string &strNumPrefix, const std::string &strValPrefix) const
Template function to print the contents of the buffer.
Definition: DtGlBuffer.h:154
float myResizeMultiplier
Definition: DtGlBuffer.h:189