OGRE-Next: Ogre::BufferInterface Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

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

Most (if not all) buffers, can be treated with the same code. More...

`#include <OgreBufferInterface.h>`

Inheritance diagram for Ogre::BufferInterface:
[legend]

## Public Member Functions
| BufferInterface ()
virtual | ~BufferInterface ()
virtual void | _ensureDelayedImmutableBuffersAreReady ()
virtual void | _notifyBuffer (BufferPacked *buffer)
virtual void | advanceFrame ()=0
virtual void | copyTo (BufferInterface *dstBuffer, size_t dstOffsetBytes, size_t srcOffsetBytes, size_t sizeBytes)=0
BufferPacked * | getBufferPacked ()
virtual void *RESTRICT_ALIAS_RETURN | map (size_t elementStart, size_t elementCount, MappingState prevMappingState, bool advanceFrame=true)=0
virtual void | regressFrame ()=0
virtual void | unmap (UnmapOptions unmapOption, size_t flushStartElem=0, size_t flushSizeElem=0)=0
void | upload (const void *data, size_t elementStart, size_t elementCount)

## Detailed Description

Most (if not all) buffers, can be treated with the same code.

Hence most equivalent functionality is encapsulated here.

## Constructor & Destructor Documentation

## ◆ BufferInterface()

Ogre::BufferInterface::BufferInterface | ( |  | ) |

Referenced by copyTo(), Ogre::D3D11BufferInterfaceBase::copyTo(), Ogre::GL3PlusBufferInterface::copyTo(), Ogre::MetalBufferInterface::copyTo(), Ogre::NULLBufferInterface::copyTo(), and Ogre::VulkanBufferInterface::copyTo().

## ◆ ~BufferInterface()

virtual Ogre::BufferInterface::~BufferInterface | ( |  | ) |
| inlinevirtual

## Member Function Documentation

## ◆ _ensureDelayedImmutableBuffersAreReady()

virtual void Ogre::BufferInterface::_ensureDelayedImmutableBuffersAreReady | ( |  | ) |
| virtual

Reimplemented in Ogre::D3D11BufferInterfaceBase.

## ◆ _notifyBuffer()

virtual void Ogre::BufferInterface::_notifyBuffer | ( | BufferPacked * | buffer | ) |
| inlinevirtual

Reimplemented in Ogre::NULLBufferInterface.

## ◆ advanceFrame()

virtual void Ogre::BufferInterface::advanceFrame | ( |  | ) |
| pure virtual

Implemented in Ogre::D3D11BufferInterface, Ogre::D3D11CompatBufferInterface, Ogre::GL3PlusBufferInterface, Ogre::GLES2BufferInterface, Ogre::MetalBufferInterface, Ogre::NULLBufferInterface, and Ogre::VulkanBufferInterface.

Referenced by map().

## ◆ copyTo()

virtual void Ogre::BufferInterface::copyTo | ( | BufferInterface * | dstBuffer,
|  | size_t | dstOffsetBytes,
|  | size_t | srcOffsetBytes,
|  | size_t | sizeBytes )
| pure virtual

Implemented in Ogre::D3D11BufferInterfaceBase, Ogre::GL3PlusBufferInterface, Ogre::MetalBufferInterface, Ogre::NULLBufferInterface, and Ogre::VulkanBufferInterface.

References BufferInterface().

## ◆ getBufferPacked()

BufferPacked * Ogre::BufferInterface::getBufferPacked | ( |  | ) |
| inline

## ◆ map()

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

Implemented in Ogre::D3D11BufferInterface, Ogre::D3D11CompatBufferInterface, Ogre::GL3PlusBufferInterface, Ogre::GLES2BufferInterface, Ogre::MetalBufferInterface, Ogre::NULLBufferInterface, and Ogre::VulkanBufferInterface.

References advanceFrame(), and RESTRICT_ALIAS_RETURN.

## ◆ regressFrame()

virtual void Ogre::BufferInterface::regressFrame | ( |  | ) |
| pure virtual

Implemented in Ogre::D3D11BufferInterface, Ogre::D3D11CompatBufferInterface, Ogre::GL3PlusBufferInterface, Ogre::GLES2BufferInterface, Ogre::MetalBufferInterface, Ogre::NULLBufferInterface, and Ogre::VulkanBufferInterface.

## ◆ unmap()

virtual void Ogre::BufferInterface::unmap | ( | UnmapOptions | unmapOption,
|  | size_t | flushStartElem = 0,
|  | size_t | flushSizeElem = 0 )
| pure virtual

Implemented in Ogre::D3D11BufferInterface, Ogre::D3D11CompatBufferInterface, Ogre::GL3PlusBufferInterface, Ogre::GLES2BufferInterface, Ogre::MetalBufferInterface, Ogre::NULLBufferInterface, and Ogre::VulkanBufferInterface.

## ◆ upload()

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

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

- OgreBufferInterface.h