![]() |
OGRE 2.1
Object-Oriented Graphics Rendering Engine
|
Represents Indirect buffers for storing draw call commands. More...
#include <OgreIndirectBufferPacked.h>
Represents Indirect buffers for storing draw call commands.
Ogre::IndirectBufferPacked::IndirectBufferPacked | ( | size_t | internalBufStartBytes, |
size_t | numElements, | ||
uint32 | bytesPerElement, | ||
uint32 | numElementsPadding, | ||
BufferType | bufferType, | ||
void * | initialData, | ||
bool | keepAsShadow, | ||
VaoManager * | vaoManager, | ||
BufferInterface * | bufferInterface | ||
) |
Ogre::IndirectBufferPacked::~IndirectBufferPacked | ( | ) |
|
inherited |
For internal use.
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.
This will also not automatically upload the shadow data to the GPU. The user must call upload or use a staging buffer themselves to achieve this.
|
inlineinherited |
|
inlinevirtual |
Useful to query which one is the derived class.
Implements Ogre::BufferPacked.
References Ogre::BP_TYPE_INDIRECT.
|
inlineinherited |
|
inlineinherited |
Returns the mapping state.
Note that if you call map with MS_PERSISTENT_INCOHERENT or MS_PERSISTENT_COHERENT, then call unmap( UO_KEEP_PERSISTENT ); the returned value will still be MS_PERSISTENT_INCOHERENT/_COHERENT when persistent mapping is supported. This differs from isCurrentlyMapped
Returns whether the buffer is currently mapped.
If you've persistently mapped the buffer and then called unmap( UO_KEEP_PERSISTENT ); this function will return false; which differs from getMappingState's behavior.
|
inherited |
Maps the specified region to a pointer the CPU can access.
Only dynamic buffers can use this function. The region [elementStart; elementStart + elementCount) will be mapped.
elementStart | Start of the region to be mapped, in elements. Normally you want this to be 0. |
elementCount | Length of the region to map, in elements. |
bAdvanceFrame | When true, the Buffer will be usable after unmapping it (or earlier if persistent mapped). However you won't be able to call map() again until the next frame. Calling this with false allows to call map multiple times. However ater calling unmap, you must call advanceFrame. THIS IS ONLY FOR VERY ADVANCED USERS. |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
operator new, with debug line info
|
inlineinherited |
placement operator new
|
inlineinherited |
|
inlineinherited |
array operator new, with debug line info
|
inherited |
Async data read request.
A ticket will be returned. Once the async transfer finishes, you can use the ticket to read the data from CPU. @See AsyncTicket
|
inherited |
Unmaps or flushes the region mapped with.
unmapOption | When using persistent mapping, UO_KEEP_PERSISTENT will keep the map alive; but you will have to call map again to use it. This requirement allows Ogre to:
|
flushStartElem | In elements, 0-based index (based on the mapped region) on where to start flushing from. Default is 0. |
flushSizeElem | The length of the flushing region, which can't be bigger than 'elementCount' passed to |
|
virtualinherited |
Sends the provided data to the GPU.
data | The data to transfer to the GPU. Caller is responsible for freeing the pointer. "data" starts at offset zero. i.e. dst[elementStart * mBytesPerElement] = data[0]; |
elementStart | The start region, usually zero. |
elementCount | Size, in number of elements, of data. Must be less than @getNumElements - elementStart |