OGRE-Next: Ogre::v1::D3D11HardwareBuffer Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

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

Base implementation of a D3D11 buffer, dealing with all the common aspects. More...

`#include <OgreD3D11HardwareBuffer.h>`

Inheritance diagram for Ogre::v1::D3D11HardwareBuffer:
[legend]

## Public Types
enum | BufferType { VERTEX_BUFFER , INDEX_BUFFER }
Public Types inherited from Ogre::v1::HardwareBuffer
enum | LockOptions { HBL_NORMAL , HBL_DISCARD , HBL_READ_ONLY , HBL_NO_OVERWRITE , HBL_WRITE_ONLY }
| Locking options. More...
enum | Usage { HBU_STATIC = 1 , HBU_DYNAMIC = 2 , HBU_WRITE_ONLY = 4 , HBU_DISCARDABLE = 8 , HBU_STATIC_WRITE_ONLY = 5 , HBU_DYNAMIC_WRITE_ONLY = 6 , HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE = 14 }
| Enums describing buffer usage; not mutually exclusive. More...

## Public Member Functions
| D3D11HardwareBuffer (BufferType btype, size_t sizeBytes, HardwareBuffer::Usage usage, D3D11Device &device, bool useSystemMem, bool useShadowBuffer, bool streamOut)
| ~D3D11HardwareBuffer () override
void | _updateFromShadow () override
| Updates the real buffer from the shadow buffer, if required.
void | copyData (HardwareBuffer &srcBuffer, size_t srcOffset, size_t dstOffset, size_t length, bool discardWholeBuffer=false) override
| See HardwareBuffer.
void | copyDataImpl (HardwareBuffer &srcBuffer, size_t srcOffset, size_t dstOffset, size_t length, bool discardWholeBuffer=false)
ID3D11Buffer * | getD3DBuffer ()
| Get the D3D-specific buffer.
void | readData (size_t offset, size_t length, void *pDest) override
| See HardwareBuffer.
void | writeData (size_t offset, size_t length, const void *pSource, bool discardWholeBuffer=false) override
| See HardwareBuffer.
Public Member Functions inherited from Ogre::v1::HardwareBuffer
| HardwareBuffer (Usage usage, bool systemMemory, bool useShadowBuffer)
| Constructor, to be called by HardwareBufferManager only.
virtual | ~HardwareBuffer ()
virtual void | copyData (HardwareBuffer &srcBuffer)
| Copy all data from another buffer into this one.
virtual void * | getRenderSystemData ()
| An internal function that should be used only by a render system for internal use.
size_t | getSizeInBytes () const
| Returns the size of this buffer in bytes.
Usage | getUsage () const
| Returns the Usage flags with which this buffer was created.
bool | hasShadowBuffer () const
| Returns whether this buffer has a system memory shadow for quicker reading.
bool | isLocked () const
| Returns whether or not this buffer is currently locked.
bool | isSystemMemory () const
| Returns whether this buffer is held in system memory.
void * | lock (LockOptions options)
| Lock the entire buffer for (potentially) reading / writing.
virtual void * | lock (size_t offset, size_t length, LockOptions options)
| Lock the buffer for (potentially) reading / writing.
void | suppressHardwareUpdate (bool suppress)
| Pass true to suppress hardware upload of shadow buffer changes.
virtual void | unlock ()
| Releases the lock on this buffer.

## Detailed Description

Base implementation of a D3D11 buffer, dealing with all the common aspects.

## Member Enumeration Documentation

## ◆ BufferType

enum Ogre::v1::D3D11HardwareBuffer::BufferType

Enumerator
VERTEX_BUFFER |
INDEX_BUFFER |

## Constructor & Destructor Documentation

## ◆ D3D11HardwareBuffer()

Ogre::v1::D3D11HardwareBuffer::D3D11HardwareBuffer | ( | BufferType | btype,
|  | size_t | sizeBytes,
|  | HardwareBuffer::Usage | usage,
|  | D3D11Device & | device,
|  | bool | useSystemMem,
|  | bool | useShadowBuffer,
|  | bool | streamOut )

## ◆ ~D3D11HardwareBuffer()

Ogre::v1::D3D11HardwareBuffer::~D3D11HardwareBuffer | ( |  | ) |
| override

## Member Function Documentation

## ◆ _updateFromShadow()

void Ogre::v1::D3D11HardwareBuffer::_updateFromShadow | ( |  | ) |
| overridevirtual

Updates the real buffer from the shadow buffer, if required.

Reimplemented from Ogre::v1::HardwareBuffer.

## ◆ copyData()

void Ogre::v1::D3D11HardwareBuffer::copyData | ( | HardwareBuffer & | srcBuffer,
|  | size_t | srcOffset,
|  | size_t | dstOffset,
|  | size_t | length,
|  | bool | discardWholeBuffer = false )
| overridevirtual

See HardwareBuffer.

We perform a hardware copy here.

Reimplemented from Ogre::v1::HardwareBuffer.

References Ogre::v1::HardwareBuffer::HardwareBuffer().

## ◆ copyDataImpl()

void Ogre::v1::D3D11HardwareBuffer::copyDataImpl | ( | HardwareBuffer & | srcBuffer,
|  | size_t | srcOffset,
|  | size_t | dstOffset,
|  | size_t | length,
|  | bool | discardWholeBuffer = false )

References Ogre::v1::HardwareBuffer::HardwareBuffer().

## ◆ getD3DBuffer()

ID3D11Buffer * Ogre::v1::D3D11HardwareBuffer::getD3DBuffer | ( |  | ) |
| inline

Get the D3D-specific buffer.

## ◆ readData()

void Ogre::v1::D3D11HardwareBuffer::readData | ( | size_t | offset,
|  | size_t | length,
|  | void * | pDest )
| overridevirtual

See HardwareBuffer.

Implements Ogre::v1::HardwareBuffer.

## ◆ writeData()

void Ogre::v1::D3D11HardwareBuffer::writeData | ( | size_t | offset,
|  | size_t | length,
|  | const void * | pSource,
|  | bool | discardWholeBuffer = false )
| overridevirtual

See HardwareBuffer.

Implements Ogre::v1::HardwareBuffer.

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

- OgreD3D11HardwareBuffer.h