Axmol 3.0.0-89d6d9a
Loading...
Searching...
No Matches
BufferImpl Class Reference

Store vertex and index data. More...

#include <BufferGL.h>

Inherits Buffer.

Public Member Functions

 BufferImpl (size_t size, BufferType type, BufferUsage usage, const void *initial, uint32_t stride=0)
void updateData (const void *data, size_t size) override
 Update buffer data.
void updateSubData (const void *data, size_t offset, size_t size) override
 Update buffer sub-region data.
void usingDefaultStoredData (bool needDefaultStoredData) override
 Static buffer data will automatically stored when it comes to foreground.
GLuint internalHandle () const
 Get buffer object.
Public Member Functions inherited from Buffer
size_t getSize () const
 Get buffer size in bytes.
uint32_t getStride () const
 Get the logical storage element stride in bytes.
Public Member Functions inherited from Object
void retain ()
 Retains the ownership.
void release ()
 Releases the ownership immediately.
Object * autorelease ()
 Releases the ownership sometime soon automatically.
unsigned int getReferenceCount () const
 Returns the Object's current reference count.
uint64_t getObjectID () const noexcept
 Returns the process-local diagnostic identifier assigned at construction.
virtual ~Object ()
 Destructor.

Detailed Description

Store vertex and index data.

Constructor & Destructor Documentation

◆ BufferImpl()

BufferImpl ( size_t size,
BufferType type,
BufferUsage usage,
const void * initial,
uint32_t stride = 0 )
Parameters
sizeSpecifies the size in bytes of the buffer object's new data store.
typeSpecifies the target buffer object. The symbolic constant must be BufferType::VERTEX or BufferType::INDEX.
usageSpecifies the expected usage pattern of the data store. The symbolic constant must be BufferUsage::STATIC, BufferUsage::DYNAMIC.

Member Function Documentation

◆ updateData()

void updateData ( const void * data,
size_t size )
overridevirtual

Update buffer data.

Parameters
dataSpecifies a pointer to data that will be copied into the data store for initialization.
sizeSpecifies the size in bytes of the data store region being replaced.
See also
updateSubData(void* data, unsigned int offset, unsigned int size)

Implements Buffer.

◆ updateSubData()

void updateSubData ( const void * data,
size_t offset,
size_t size )
overridevirtual

Update buffer sub-region data.

Parameters
dataSpecifies a pointer to the new data that will be copied into the data store.
offsetSpecifies the offset into the buffer object's data store where data replacement will begin, measured in bytes.
sizeSpecifies the size in bytes of the data store region being replaced.
See also
updateData(void* data, unsigned int size)

Implements Buffer.

◆ usingDefaultStoredData()

void usingDefaultStoredData ( bool needDefaultStoredData)
overridevirtual

Static buffer data will automatically stored when it comes to foreground.

This interface is used to indicate whether external data needs to be used to update the buffer(false) instead of using the default stored data(true).

Parameters
needDefaultStoredDataSpecifies whether to use the default stored data.

Implements Buffer.

◆ internalHandle()

GLuint internalHandle ( ) const
inline

Get buffer object.

Returns
Buffer object.

The documentation for this class was generated from the following file:
  • BufferGL.h