OGRE 2.1
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Ogre::MetalBufferInterface Class Reference

For Metal, all buffers can be treated with the same code. More...

#include <OgreMetalBufferInterface.h>

+ Inheritance diagram for Ogre::MetalBufferInterface:

Public Member Functions

 MetalBufferInterface (size_t vboPoolIdx, id< MTLBuffer > vboName, MetalDynamicBuffer *dynamicBuffer)
 
virtual ~MetalBufferInterface ()
 
void _firstUpload (const void *data, size_t elementStart, size_t elementCount)
 Only use this function for the first upload.
 
virtual void _notifyBuffer (BufferPacked *buffer)
 
virtual void advanceFrame (void)
 
id< MTLBuffergetVboName (void) const
 Use __unsafe_unretained when possible to avoid unnecessary ARC overhead.
 
size_t getVboPoolIndex (void)
 
virtual void *RESTRICT_ALIAS_RETURN map (size_t elementStart, size_t elementCount, MappingState prevMappingState, bool advanceFrame=true)
 
virtual void regressFrame (void)
 
virtual void unmap (UnmapOptions unmapOption, size_t flushStartElem=0, size_t flushSizeElem=0)
 
void upload (const void *data, size_t elementStart, size_t elementCount)
 

Detailed Description

For Metal, all buffers can be treated with the same code.

Hence most equivalent functionality is encapsulated here.

Constructor & Destructor Documentation

◆ MetalBufferInterface()

Ogre::MetalBufferInterface::MetalBufferInterface ( size_t  vboPoolIdx,
id< MTLBuffer vboName,
MetalDynamicBuffer dynamicBuffer 
)

◆ ~MetalBufferInterface()

virtual Ogre::MetalBufferInterface::~MetalBufferInterface ( )
virtual

Member Function Documentation

◆ _firstUpload()

void Ogre::MetalBufferInterface::_firstUpload ( const void data,
size_t  elementStart,
size_t  elementCount 
)

Only use this function for the first upload.

◆ _notifyBuffer()

virtual void Ogre::BufferInterface::_notifyBuffer ( BufferPacked buffer)
inlinevirtualinherited

Reimplemented in Ogre::NULLBufferInterface.

◆ advanceFrame()

virtual void Ogre::MetalBufferInterface::advanceFrame ( void  )
virtual

Implements Ogre::BufferInterface.

◆ getVboName()

id< MTLBuffer > Ogre::MetalBufferInterface::getVboName ( void  ) const
inline

Use __unsafe_unretained when possible to avoid unnecessary ARC overhead.

◆ getVboPoolIndex()

size_t Ogre::MetalBufferInterface::getVboPoolIndex ( void  )
inline

◆ map()

virtual void *RESTRICT_ALIAS_RETURN Ogre::MetalBufferInterface::map ( size_t  elementStart,
size_t  elementCount,
MappingState  prevMappingState,
bool  advanceFrame = true 
)
virtual

Implements Ogre::BufferInterface.

◆ regressFrame()

virtual void Ogre::MetalBufferInterface::regressFrame ( void  )
virtual

Implements Ogre::BufferInterface.

◆ unmap()

virtual void Ogre::MetalBufferInterface::unmap ( UnmapOptions  unmapOption,
size_t  flushStartElem = 0,
size_t  flushSizeElem = 0 
)
virtual

Implements Ogre::BufferInterface.

◆ upload()

void Ogre::BufferInterface::upload ( const void data,
size_t  elementStart,
size_t  elementCount 
)
inherited

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