⚠️ This documentation corresponds to the latest development branch of axmol. It might diverge from the official releases.

Axmol Engine 3.0.0-dff292a
Loading...
Searching...
No Matches
BufferImpl Class Referencefinal

A Vulkan-based Buffer implementation. More...

#include <BufferVK.h>

Inherits Buffer.

Public Member Functions

 BufferImpl (DriverImpl *, std::size_t size, BufferType type, BufferUsage usage, const void *initial)
void updateData (const void *data, std::size_t size) override
 Update buffer data.
void updateSubData (const void *data, std::size_t offset, std::size_t size) override
 Update buffer sub-region data.
void usingDefaultStoredData (bool needDefaultStoredData) override
 By default, static buffer data will automatically stored when it comes to foreground.
Public Member Functions inherited from Buffer
std::size_t getSize () const
 Get buffer size in bytes.
Public Member Functions inherited from Object
void retain ()
 Retains the ownership.
void release ()
 Releases the ownership immediately.
Objectautorelease ()
 Releases the ownership sometime soon automatically.
unsigned int getReferenceCount () const
 Returns the Object's current reference count.
virtual ~Object ()
 Destructor.

Additional Inherited Members

Public Attributes inherited from Object
unsigned int _ID
 object id, ScriptSupport need public _ID
int _luaID
 Lua reference id.

Detailed Description

A Vulkan-based Buffer implementation.

Constructor & Destructor Documentation

◆ BufferImpl()

BufferImpl ( DriverImpl * ,
std::size_t size,
BufferType type,
BufferUsage usage,
const void * initial )
Parameters
deviceVulkan logical device
physicalVulkan physical device (for memory properties)
sizerequest size of buffer
typeBufferType::VERTEX or BufferType::INDEX
usageBufferUsage::STATIC / DYNAMIC / STREAM
initialinitial data

Member Function Documentation

◆ updateData()

void updateData ( const void * data,
std::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,
std::size_t offset,
std::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

By default, static buffer data will automatically stored when it comes to foreground.

This function is used to indicate whether external data needs to be used to update the buffer instead of using the default stored data.

Parameters
needDefaultStoredDataSpecifies whether to use the default stored data.

Implements Buffer.


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