OGRE-Next: Ogre::MetalConstBufferPacked Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

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

`#include <OgreMetalConstBufferPacked.h>`

Inheritance diagram for Ogre::MetalConstBufferPacked:
[legend]

## Public Member Functions
| MetalConstBufferPacked (size_t internalBufferStartBytes, size_t numElements, uint32 bytesPerElement, uint32 numElementsPadding, BufferType bufferType, void *initialData, bool keepAsShadow, VaoManager *vaoManager, BufferInterface *bufferInterface, MetalDevice *device)
| ~MetalConstBufferPacked () override
void | bindBufferCS (uint16 slot) override
void | bindBufferCS (uint16 slot, uint32 offsetBytes)
void | bindBufferDS (uint16) override
void | bindBufferGS (uint16) override
void | bindBufferHS (uint16) override
void | bindBufferPS (uint16 slot) override
void | bindBufferPS (uint16 slot, uint32 offsetBytes)
void | bindBufferVS (uint16 slot) override
| Binds the constant buffer to the given slot in the Vertex/Pixel/Geometry/Hull/Domain/Compute Shader.
void | bindBufferVS (uint16 slot, uint32 offsetBytes)
Public Member Functions inherited from Ogre::ConstBufferPacked
| ConstBufferPacked (size_t internalBufferStartBytes, size_t numElements, uint32 bytesPerElement, uint32 numElementsPadding, BufferType bufferType, void *initialData, bool keepAsShadow, VaoManager *vaoManager, BufferInterface *bufferInterface)
BufferPackedTypes | getBufferPackedType () const override
| Useful to query which one is the derived class.
Public Member Functions inherited from Ogre::BufferPacked
| BufferPacked (size_t internalBufferStartBytes, size_t numElements, uint32 bytesPerElement, uint32 numElementsPadding, BufferType bufferType, void *initialData, bool keepAsShadow, VaoManager *vaoManager, BufferInterface *bufferInterface)
| Generic constructor.
virtual | ~BufferPacked ()
size_t | _getFinalBufferStart () const
size_t | _getInternalBufferStart () const
size_t | _getInternalNumElements () const
size_t | _getInternalTotalSizeBytes () const
void | _setBufferInterface (BufferInterface *bufferInterface)
| For internal use.
void | _setShadowCopy (void *copy)
| This will not delete the existing shadow copy so it can be used for other purposes if it is not needed call OGRE_FREE_SIMD( m->getShadowCopy(), MEMCATEGORY_GEOMETRY ) before calling this function.
void | advanceFrame ()
void | copyTo (BufferPacked *dstBuffer, size_t dstElemStart=0, size_t srcElemStart=0, size_t srcNumElems=std::numeric_limits< size_t >::max())
| Copies the contents of this buffer to another, using GPU -> GPU transfers.
BufferInterface * | getBufferInterface () const
BufferType | getBufferType () const
uint32 | getBytesPerElement () const
MappingState | getMappingState () const
| Returns the mapping state.
size_t | getNumElements () const
virtual BufferPacked * | getOriginalBufferType ()
| If this buffer has been reinterpreted from an UavBufferPacked, returns the original version, otherwise returns 'this'.
const void * | getShadowCopy () const
size_t | getTotalSizeBytes () const
bool | isCurrentlyMapped () const
| Returns whether the buffer is currently mapped.
void *RESTRICT_ALIAS_RETURN | map (size_t elementStart, size_t elementCount, bool bAdvanceFrame=true)
| Maps the specified region to a pointer the CPU can access.
AsyncTicketPtr | readRequest (size_t elementStart, size_t elementCount)
| Async data read request.
void | regressFrame ()
| Performs the opposite of.
void | unmap (UnmapOptions unmapOption, size_t flushStartElem=0, size_t flushSizeElem=0)
| Unmaps or flushes the region mapped with.
virtual void | upload (const void *data, size_t elementStart, size_t elementCount)
| Sends the provided data to the GPU.
Public Member Functions inherited from Ogre::GpuTrackedResource
virtual | ~GpuTrackedResource ()
virtual bool | isTextureGpu () const

## Constructor & Destructor Documentation

## ◆ MetalConstBufferPacked()

Ogre::MetalConstBufferPacked::MetalConstBufferPacked | ( | size_t | internalBufferStartBytes,
|  | size_t | numElements,
|  | uint32 | bytesPerElement,
|  | uint32 | numElementsPadding,
|  | BufferType | bufferType,
|  | void * | initialData,
|  | bool | keepAsShadow,
|  | VaoManager * | vaoManager,
|  | BufferInterface * | bufferInterface,
|  | MetalDevice * | device )

## ◆ ~MetalConstBufferPacked()

Ogre::MetalConstBufferPacked::~MetalConstBufferPacked | ( |  | ) |
| override

## Member Function Documentation

## ◆ bindBufferCS() [1/2]

void Ogre::MetalConstBufferPacked::bindBufferCS | ( | uint16 | slot | ) |
| overridevirtual

Implements Ogre::ConstBufferPacked.

## ◆ bindBufferCS() [2/2]

void Ogre::MetalConstBufferPacked::bindBufferCS | ( | uint16 | slot,
|  | uint32 | offsetBytes )

## ◆ bindBufferDS()

void Ogre::MetalConstBufferPacked::bindBufferDS | ( | uint16 |  | ) |
| inlineoverridevirtual

Implements Ogre::ConstBufferPacked.

## ◆ bindBufferGS()

void Ogre::MetalConstBufferPacked::bindBufferGS | ( | uint16 |  | ) |
| inlineoverridevirtual

Implements Ogre::ConstBufferPacked.

## ◆ bindBufferHS()

void Ogre::MetalConstBufferPacked::bindBufferHS | ( | uint16 |  | ) |
| inlineoverridevirtual

Implements Ogre::ConstBufferPacked.

## ◆ bindBufferPS() [1/2]

void Ogre::MetalConstBufferPacked::bindBufferPS | ( | uint16 | slot | ) |
| overridevirtual

Implements Ogre::ConstBufferPacked.

## ◆ bindBufferPS() [2/2]

void Ogre::MetalConstBufferPacked::bindBufferPS | ( | uint16 | slot,
|  | uint32 | offsetBytes )

## ◆ bindBufferVS() [1/2]

void Ogre::MetalConstBufferPacked::bindBufferVS | ( | uint16 | slot | ) |
| overridevirtual

Binds the constant buffer to the given slot in the Vertex/Pixel/Geometry/Hull/Domain/Compute Shader.

Remarks
  Not all RS API separate by shader stage. For best compatibility, don't assign two different buffers at the same slot for different stages (just leave the slot empty on the stages you don't use).

Parameters

  slot | The slot to asign this constant buffer. In D3D11 it's called 'slot'. In GLSL it's called it's called 'binding'

Implements Ogre::ConstBufferPacked.

## ◆ bindBufferVS() [2/2]

void Ogre::MetalConstBufferPacked::bindBufferVS | ( | uint16 | slot,
|  | uint32 | offsetBytes )

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

- OgreMetalConstBufferPacked.h