OGRE-Next  3.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::IndirectBufferPacked Class Reference

Represents Indirect buffers for storing draw call commands. More...

#include <OgreIndirectBufferPacked.h>

+ Inheritance diagram for Ogre::IndirectBufferPacked:

Public Member Functions

 IndirectBufferPacked (size_t internalBufStartBytes, size_t numElements, uint32 bytesPerElement, uint32 numElementsPadding, BufferType bufferType, void *initialData, bool keepAsShadow, VaoManager *vaoManager, BufferInterface *bufferInterface)
 
 ~IndirectBufferPacked () override
 
BufferPackedTypes getBufferPackedType () const override
 Useful to query which one is the derived class. More...
 
unsigned char * getSwBufferPtr ()
 
- 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. More...
 
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. More...
 
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. More...
 
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. More...
 
BufferInterfacegetBufferInterface () const
 
BufferType getBufferType () const
 
uint32 getBytesPerElement () const
 
MappingState getMappingState () const
 Returns the mapping state. More...
 
size_t getNumElements () const
 
virtual BufferPackedgetOriginalBufferType ()
 If this buffer has been reinterpreted from an UavBufferPacked, returns the original version, otherwise returns 'this'. More...
 
const void * getShadowCopy () const
 
size_t getTotalSizeBytes () const
 
bool isCurrentlyMapped () const
 Returns whether the buffer is currently mapped. More...
 
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. More...
 
AsyncTicketPtr readRequest (size_t elementStart, size_t elementCount)
 Async data read request. More...
 
void regressFrame ()
 Performs the opposite of. More...
 
void unmap (UnmapOptions unmapOption, size_t flushStartElem=0, size_t flushSizeElem=0)
 Unmaps or flushes the region mapped with. More...
 
virtual void upload (const void *data, size_t elementStart, size_t elementCount)
 Sends the provided data to the GPU. More...
 
- Public Member Functions inherited from Ogre::GpuTrackedResource
virtual ~GpuTrackedResource ()
 
virtual bool isTextureGpu () const
 

Detailed Description

Represents Indirect buffers for storing draw call commands.

Constructor & Destructor Documentation

◆ IndirectBufferPacked()

Ogre::IndirectBufferPacked::IndirectBufferPacked ( size_t  internalBufStartBytes,
size_t  numElements,
uint32  bytesPerElement,
uint32  numElementsPadding,
BufferType  bufferType,
void *  initialData,
bool  keepAsShadow,
VaoManager vaoManager,
BufferInterface bufferInterface 
)

◆ ~IndirectBufferPacked()

Ogre::IndirectBufferPacked::~IndirectBufferPacked ( )
override

Member Function Documentation

◆ getBufferPackedType()

BufferPackedTypes Ogre::IndirectBufferPacked::getBufferPackedType ( ) const
inlineoverridevirtual

Useful to query which one is the derived class.

Implements Ogre::BufferPacked.

References Ogre::BP_TYPE_INDIRECT.

◆ getSwBufferPtr()

unsigned char* Ogre::IndirectBufferPacked::getSwBufferPtr ( )
inline

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