OGRE-Next
2.3
Object-Oriented Graphics Rendering Engine
|
For Metal, all buffers can be treated with the same code. More...
#include <OgreMetalBufferInterface.h>
Public Member Functions | |
MetalBufferInterface (size_t vboPoolIdx, id< MTLBuffer > vboName, MetalDynamicBuffer *dynamicBuffer) | |
~MetalBufferInterface () override | |
virtual void | _ensureDelayedImmutableBuffersAreReady () |
void | _firstUpload (const void *data, size_t elementStart, size_t elementCount) |
Only use this function for the first upload. More... | |
virtual void | _notifyBuffer (BufferPacked *buffer) |
void | _setVboPoolIndex (size_t newVboPool) |
void | advanceFrame () override |
void | copyTo (BufferInterface *dstBuffer, size_t dstOffsetBytes, size_t srcOffsetBytes, size_t sizeBytes) override |
BufferPacked * | getBufferPacked () |
id< MTLBuffer > | getVboName () const |
Use __unsafe_unretained when possible to avoid unnecessary ARC overhead. More... | |
size_t | getVboPoolIndex () |
void *RESTRICT_ALIAS_RETURN | map (size_t elementStart, size_t elementCount, MappingState prevMappingState, bool advanceFrame=true) override |
void | regressFrame () override |
void | unmap (UnmapOptions unmapOption, size_t flushStartElem=0, size_t flushSizeElem=0) override |
void | upload (const void *data, size_t elementStart, size_t elementCount) |
For Metal, all buffers can be treated with the same code.
Hence most equivalent functionality is encapsulated here.
Ogre::MetalBufferInterface::MetalBufferInterface | ( | size_t | vboPoolIdx, |
id< MTLBuffer > | vboName, | ||
MetalDynamicBuffer * | dynamicBuffer | ||
) |
|
override |
|
virtualinherited |
Reimplemented in Ogre::D3D11BufferInterfaceBase.
void Ogre::MetalBufferInterface::_firstUpload | ( | const void * | data, |
size_t | elementStart, | ||
size_t | elementCount | ||
) |
Only use this function for the first upload.
|
inlinevirtualinherited |
Reimplemented in Ogre::NULLBufferInterface.
|
inline |
|
overridevirtual |
Implements Ogre::BufferInterface.
|
overridevirtual |
Implements Ogre::BufferInterface.
|
inlineinherited |
|
inline |
Use __unsafe_unretained when possible to avoid unnecessary ARC overhead.
|
inline |
|
overridevirtual |
Implements Ogre::BufferInterface.
|
overridevirtual |
Implements Ogre::BufferInterface.
|
overridevirtual |
Implements Ogre::BufferInterface.
|
inherited |