VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
makVrv::DtGlTextureBufferObject Class Reference

Wrapper for OpenGL Texture Buffer Object.

Public Member Functions

 DtGlTextureBufferObject (const char *name, size_t sizeInBytes, DtDataFormat format, DtUsage usage, DtCpuAccess cpuAccess)
 
 DtGlTextureBufferObject (const char *name, DtDataFormat format, DtUsage usage, DtCpuAccess cpuAccess)
 
void setName (const char *name)
 
virtual ~DtGlTextureBufferObject ()
 
size_t sizeInBytes (void) const
 
void copyData (void *pData, size_t sizeInBytes, size_t offsetInBytes=0)
 
void copyAndOrphanStreamedData (void *pData, size_t sizeInBytes)
 
void copyDataMapped (void *pData, size_t sizeInBytes, size_t offsetInBytes=0)
 
DtDataFormat format (void) const
 
void bindTexture (void)
 
void bindTBO (void)
 
void * mapTBO (void)
 
void unmapTBO (void)
 
void resize (size_t sizeInBytes)
 
void tearDown (void)
 
void setUseBufferedData (bool val)
 
bool getUseBufferedData ()
 

Private Member Functions

void reInitialize (const byte *pData)
 

Private Attributes

std::string myName
 
GLuint myTextureBufferObjectID
 
GLuint myTextureID
 
size_t mySizeInBytes
 
DtUsage myUsage
 
DtCpuAccess myCPUAccess
 
DtDataFormat myFormat
 
GLenum myGLUsage
 
GLenum myGLInternalFormat
 
bool myUseBufferData
 
charmyBufferData
 

Constructor & Destructor Documentation

makVrv::DtGlTextureBufferObject::DtGlTextureBufferObject ( const char name,
size_t  sizeInBytes,
DtDataFormat  format,
DtUsage  usage,
DtCpuAccess  cpuAccess 
)

CTOR.

makVrv::DtGlTextureBufferObject::DtGlTextureBufferObject ( const char name,
DtDataFormat  format,
DtUsage  usage,
DtCpuAccess  cpuAccess 
)
virtual makVrv::DtGlTextureBufferObject::~DtGlTextureBufferObject ( )
virtual

DTOR.

Member Function Documentation

void makVrv::DtGlTextureBufferObject::setName ( const char name)
inline
size_t makVrv::DtGlTextureBufferObject::sizeInBytes ( void  ) const

Size in bytes of the texture buffer object.

void makVrv::DtGlTextureBufferObject::copyData ( void *  pData,
size_t  sizeInBytes,
size_t  offsetInBytes = 0 
)

Upload data to the buffer. offset + size <= size of buffer.

void makVrv::DtGlTextureBufferObject::copyAndOrphanStreamedData ( void *  pData,
size_t  sizeInBytes 
)

Upload and resize buffer, assumes used for just a frame.

void makVrv::DtGlTextureBufferObject::copyDataMapped ( void *  pData,
size_t  sizeInBytes,
size_t  offsetInBytes = 0 
)

Upload data to the buffer using glMapBuffer.

DtDataFormat makVrv::DtGlTextureBufferObject::format ( void  ) const
inline

Format of the texture.

void makVrv::DtGlTextureBufferObject::bindTexture ( void  )
void makVrv::DtGlTextureBufferObject::bindTBO ( void  )
void* makVrv::DtGlTextureBufferObject::mapTBO ( void  )
void makVrv::DtGlTextureBufferObject::unmapTBO ( void  )
void makVrv::DtGlTextureBufferObject::resize ( size_t  sizeInBytes)

Resize the tbo to a new size.

void makVrv::DtGlTextureBufferObject::tearDown ( void  )
void makVrv::DtGlTextureBufferObject::setUseBufferedData ( bool  val)
inline
bool makVrv::DtGlTextureBufferObject::getUseBufferedData ( )
inline
void makVrv::DtGlTextureBufferObject::reInitialize ( const byte pData)
private

Member Data Documentation

std::string makVrv::DtGlTextureBufferObject::myName
private
GLuint makVrv::DtGlTextureBufferObject::myTextureBufferObjectID
private
GLuint makVrv::DtGlTextureBufferObject::myTextureID
private
size_t makVrv::DtGlTextureBufferObject::mySizeInBytes
private
DtUsage makVrv::DtGlTextureBufferObject::myUsage
private
DtCpuAccess makVrv::DtGlTextureBufferObject::myCPUAccess
private
DtDataFormat makVrv::DtGlTextureBufferObject::myFormat
private
GLenum makVrv::DtGlTextureBufferObject::myGLUsage
private
GLenum makVrv::DtGlTextureBufferObject::myGLInternalFormat
private
bool makVrv::DtGlTextureBufferObject::myUseBufferData
private
char* makVrv::DtGlTextureBufferObject::myBufferData
private

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)