OGRE-Next: Ogre::MetalDynamicBuffer Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Public Member Functions | List of all members
Ogre::MetalDynamicBuffer Class Reference

Metal doesn't "map". More...

`#include <OgreMetalDynamicBuffer.h>`

## Public Member Functions
| MetalDynamicBuffer (id< MTLBuffer > vboName, size_t vboSize)
| ~MetalDynamicBuffer ()
void | flush (size_t ticket, size_t start, size_t count)
| Flushes the region of the given ticket. start is 0-based.
id< MTLBuffer > | getVboName () const
void *RESTRICT_ALIAS_RETURN | map (size_t start, size_t count, size_t &outTicket)
void | unmap (size_t ticket)
| Unmaps given ticket (got from.

## Detailed Description

Metal doesn't "map".

You can directly access the unsynchronized contents For performance we keep many buffers as one big buffer, but for compatibility reasons (with GL3/DX10 HW) we treat them as separate buffers.

  This class treats mapping in a GL-style. The most usefulness is that in OS X we need to inform what regions were modified (flush). On iOS it serves no real purpose and is just a pass through with some asserts for consistency checking.

Remarks
  This is a very thin/lightweight wrapper around MTLBuffer, thus: Caller is responsible for flushing regions before unmapping. Caller is responsible for proper synchronization. No check is performed to see if two map calls overlap.

## Constructor & Destructor Documentation

## ◆ MetalDynamicBuffer()

Ogre::MetalDynamicBuffer::MetalDynamicBuffer | ( | id< MTLBuffer > | vboName,
|  | size_t | vboSize )

## ◆ ~MetalDynamicBuffer()

Ogre::MetalDynamicBuffer::~MetalDynamicBuffer | ( |  | ) |

## Member Function Documentation

## ◆ flush()

void Ogre::MetalDynamicBuffer::flush | ( | size_t | ticket,
|  | size_t | start,
|  | size_t | count )

Flushes the region of the given ticket. start is 0-based.

## ◆ getVboName()

id< MTLBuffer > Ogre::MetalDynamicBuffer::getVboName | ( |  | ) | const
| inline

## ◆ map()

void *RESTRICT_ALIAS_RETURN Ogre::MetalDynamicBuffer::map | ( | size_t | start,
|  | size_t | count,
|  | size_t & | outTicket )

References RESTRICT_ALIAS_RETURN.

## ◆ unmap()

void Ogre::MetalDynamicBuffer::unmap | ( | size_t | ticket | ) |

Unmaps given ticket (got from.

See also
  map). The ticket becomes invalid after this.

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

- OgreMetalDynamicBuffer.h