Axmol Engine 2.4.0-258ceca
|
Used to store vertex and index data data. More...
#include <BufferMTL.h>
Inherits Buffer.
Public Member Functions | |
Constructor, Destructor and Initializers | |
BufferMTL (id< MTLDevice > mtlDevice, std::size_t size, BufferType type, BufferUsage usage) | |
BufferMTL constructor. | |
Update Buffer | |
virtual void | updateData (const void *data, std::size_t size) override |
Update buffer data. | |
virtual void | updateSubData (const void *data, std::size_t offset, std::size_t size) override |
Update buffer sub-region data. | |
virtual void | usingDefaultStoredData (bool needDefaultStoredData) override |
Emply implementation. | |
![]() | |
std::size_t | getSize () const |
Get buffer size in bytes. | |
![]() | |
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. | |
virtual | ~Object () |
Destructor. | |
Setters & Getters | |
void | beginFrame () |
a triple buffering Will switch to next buffer and use the buffer in the following render pass in current frame. | |
Additional Inherited Members | |
![]() | |
unsigned int | _ID |
object id, ScriptSupport need public _ID | |
int | _luaID |
Lua reference id. | |
Used to store vertex and index data data.
Dynamic buffer data refers to frequently updated data stored in a buffer. To avoid creating new buffers per frame and to minimize processor idle time between frames, implement a triple buffering model to update dynamic buffer.
BufferMTL | ( | id< MTLDevice > | mtlDevice, |
std::size_t | size, | ||
BufferType | type, | ||
BufferUsage | usage ) |
BufferMTL constructor.
mtlDevice | The device for which MTLBuffer object was created. |
size | Specifies the size in bytes of the buffer object's new data store. |
type | Specifies the target buffer object. The symbolic constant must be BufferType::VERTEX or BufferType::INDEX. |
usage | Specifies the expected usage pattern of the data store. The symbolic constant must be BufferUsage::STATIC, BufferUsage::DYNAMIC. |
|
overridevirtual |
Update buffer data.
data | Specifies a pointer to data that will be copied into the data store for initialization. |
size | Specifies the size in bytes of the data store region being replaced. |
updateSubData(void* data, unsigned int offset, unsigned int size)
Implements Buffer.
|
overridevirtual |
Update buffer sub-region data.
data | Specifies a pointer to the new data that will be copied into the data store. |
offset | Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. |
size | Specifies the size in bytes of the data store region being replaced. |
updateData(void* data, unsigned int size)
Implements Buffer.
|
inlineoverridevirtual |