OGRE: Ogre::DefaultHardwareBuffer Class Reference

| OGRE 14.5 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Ogre::DefaultHardwareBuffer Class Reference
Core » RenderSystem

Specialisation of HardwareBuffer for emulation. More...

`#include <OgreDefaultHardwareBufferManager.h>`

Inheritance diagram for Ogre::DefaultHardwareBuffer:
[legend]

## Public Member Functions
| DefaultHardwareBuffer (size_t sizeInBytes)
| ~DefaultHardwareBuffer ()
bool | isSystemMemory (void) const override
| Returns whether this buffer is held in system memory.
void | readData (size_t offset, size_t length, void *pDest) override
| Reads data from the buffer and places it in the memory pointed to by pDest.
void | writeData (size_t offset, size_t length, const void *pSource, bool discardWholeBuffer=false) override
| Writes data to the buffer from an area of system memory; note that you must ensure that your buffer is big enough.
Public Member Functions inherited from Ogre::HardwareBuffer
| HardwareBuffer (Usage usage, bool useShadowBuffer)
| Constructor, to be called by HardwareBufferManager only.
virtual | ~HardwareBuffer ()
template<typename T>
T * | _getImpl ()
virtual void | _updateFromShadow (void)
| Updates the real buffer from the shadow buffer, if required.
void | copyData (HardwareBuffer &srcBuffer)
| Copy all data from another buffer into this one.
virtual void | copyData (HardwareBuffer &srcBuffer, size_t srcOffset, size_t dstOffset, size_t length, bool discardWholeBuffer=false)
| Copy data from another buffer into this one.
size_t | getSizeInBytes (void) const
| Returns the size of this buffer in bytes.
Usage | getUsage (void) const
| Returns the Usage flags with which this buffer was created.
bool | hasShadowBuffer (void) const
| Returns whether this buffer has a system memory shadow for quicker reading.
bool | isLocked (void) const
| Returns whether or not this buffer is currently locked.
void * | lock (LockOptions options)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
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.
void | unlock (void)
| Releases the lock on this buffer.

## Additional Inherited Members
Public Types inherited from Ogre::HardwareBuffer
enum | LockOptions : uint8 { HBL_NORMAL , HBL_DISCARD , HBL_READ_ONLY , HBL_NO_OVERWRITE , HBL_WRITE_ONLY }
| Locking options. More...
typedef uint8 | Usage
enum | UsageEnum { HBU_STATIC = HBU_GPU_TO_CPU , HBU_DYNAMIC = HBU_CPU_ONLY , HBU_WRITE_ONLY = HBU_DETAIL_WRITE_ONLY , HBU_DISCARDABLE = 8 , HBU_STATIC_WRITE_ONLY = HBU_GPU_ONLY , HBU_DYNAMIC_WRITE_ONLY = HBU_CPU_TO_GPU , HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE = HBU_CPU_TO_GPU }
| Rather use HardwareBufferUsage. More...

## Detailed Description

Specialisation of HardwareBuffer for emulation.

## Constructor & Destructor Documentation

## ◆ DefaultHardwareBuffer()

Ogre::DefaultHardwareBuffer::DefaultHardwareBuffer | ( | size_t | sizeInBytes | ) |

## ◆ ~DefaultHardwareBuffer()

Ogre::DefaultHardwareBuffer::~DefaultHardwareBuffer | ( |  | ) |

## Member Function Documentation

## ◆ readData()

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

Reads data from the buffer and places it in the memory pointed to by pDest.

Parameters

  offset | The byte offset from the start of the buffer to read
  length | The size of the area to read, in bytes
  pDest | The area of memory in which to place the data, must be large enough to accommodate the data!

Reimplemented from Ogre::HardwareBuffer.

## ◆ writeData()

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

Writes data to the buffer from an area of system memory; note that you must ensure that your buffer is big enough.

Parameters

  offset | The byte offset from the start of the buffer to start writing
  length | The size of the data to write to, in bytes
  pSource | The source of the data to be written
  discardWholeBuffer | If true, this allows the driver to discard the entire buffer when writing, such that DMA stalls can be avoided; use if you can.

Reimplemented from Ogre::HardwareBuffer.

## ◆ isSystemMemory()

bool Ogre::DefaultHardwareBuffer::isSystemMemory | ( | void |  | ) | const
| inlineoverridevirtual

Returns whether this buffer is held in system memory.

Reimplemented from Ogre::HardwareBuffer.

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

- OgreDefaultHardwareBufferManager.h