OGRE-Next  2.3
Object-Oriented Graphics Rendering Engine
Ogre::D3D11BufferInterface Class Referencefinal

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

#include <OgreD3D11BufferInterface.h>

+ Inheritance diagram for Ogre::D3D11BufferInterface:

Public Member Functions

 D3D11BufferInterface (size_t vboPoolIdx, ID3D11Buffer *d3dBuffer, D3D11DynamicBuffer *dynamicBuffer)
 
 ~D3D11BufferInterface () override
 
void _deleteInitialData ()
 
void _ensureDelayedImmutableBuffersAreReady () override
 
void _firstUpload (void *data)
 Only use this function for the first upload. More...
 
const void * _getInitialData () const
 
virtual void _notifyBuffer (BufferPacked *buffer)
 
void _setNullDynamicBuffer ()
 
void _setVboName (size_t vboPoolIdx, ID3D11Buffer *vboName, size_t internalBufferStartBytes)
 
void _setVboPoolIndex (size_t newVboPool)
 
void advanceFrame () override
 
void copyTo (BufferInterface *dstBuffer, size_t dstOffsetBytes, size_t srcOffsetBytes, size_t sizeBytes) override
 
BufferPackedgetBufferPacked ()
 
D3D11DynamicBuffergetDynamicBuffer () const
 
ID3D11Buffer * getVboName () const
 
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)
 

Detailed Description

For D3D11, most (if not all) buffers, can be treated with the same code.

Hence most equivalent functionality is encapsulated here.

Constructor & Destructor Documentation

◆ D3D11BufferInterface()

Ogre::D3D11BufferInterface::D3D11BufferInterface ( size_t  vboPoolIdx,
ID3D11Buffer *  d3dBuffer,
D3D11DynamicBuffer dynamicBuffer 
)

◆ ~D3D11BufferInterface()

Ogre::D3D11BufferInterface::~D3D11BufferInterface ( )
override

Member Function Documentation

◆ _deleteInitialData()

void Ogre::D3D11BufferInterface::_deleteInitialData ( )

◆ _ensureDelayedImmutableBuffersAreReady()

void Ogre::D3D11BufferInterfaceBase::_ensureDelayedImmutableBuffersAreReady ( )
overridevirtualinherited

Reimplemented from Ogre::BufferInterface.

◆ _firstUpload()

void Ogre::D3D11BufferInterface::_firstUpload ( void *  data)

Only use this function for the first upload.

◆ _getInitialData()

const void* Ogre::D3D11BufferInterface::_getInitialData ( ) const
inline

◆ _notifyBuffer()

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

Reimplemented in Ogre::NULLBufferInterface.

◆ _setNullDynamicBuffer()

void Ogre::D3D11BufferInterface::_setNullDynamicBuffer ( )
inline

◆ _setVboName()

void Ogre::D3D11BufferInterface::_setVboName ( size_t  vboPoolIdx,
ID3D11Buffer *  vboName,
size_t  internalBufferStartBytes 
)

◆ _setVboPoolIndex()

void Ogre::D3D11BufferInterface::_setVboPoolIndex ( size_t  newVboPool)
inline

◆ advanceFrame()

void Ogre::D3D11BufferInterface::advanceFrame ( )
overridevirtual

Implements Ogre::BufferInterface.

◆ copyTo()

void Ogre::D3D11BufferInterfaceBase::copyTo ( BufferInterface dstBuffer,
size_t  dstOffsetBytes,
size_t  srcOffsetBytes,
size_t  sizeBytes 
)
overridevirtualinherited

Implements Ogre::BufferInterface.

◆ getBufferPacked()

BufferPacked* Ogre::BufferInterface::getBufferPacked ( )
inlineinherited

◆ getDynamicBuffer()

D3D11DynamicBuffer* Ogre::D3D11BufferInterface::getDynamicBuffer ( ) const
inline

◆ getVboName()

ID3D11Buffer* Ogre::D3D11BufferInterfaceBase::getVboName ( ) const
inlineinherited

◆ getVboPoolIndex()

size_t Ogre::D3D11BufferInterfaceBase::getVboPoolIndex ( )
inlineinherited

◆ map()

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

Implements Ogre::BufferInterface.

◆ regressFrame()

void Ogre::D3D11BufferInterface::regressFrame ( )
overridevirtual

Implements Ogre::BufferInterface.

◆ unmap()

void Ogre::D3D11BufferInterface::unmap ( UnmapOptions  unmapOption,
size_t  flushStartElem = 0,
size_t  flushSizeElem = 0 
)
overridevirtual

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: