Go to the documentation of this file.
28 #ifndef __VertexIndexData_H__
29 #define __VertexIndexData_H__
293 : size ( cachesize ), tail (0), buffersize (0), hit (0), miss (0)
304 void reset() { hit = 0; miss = 0; tail = 0; buffersize = 0; }
305 void flush() { tail = 0; buffersize = 0; }
IndexData & operator=(const IndexData &rhs)
Protected operator=, to prevent misuse.
VertexDeclaration * vertexDeclaration
Declaration of the vertex to be used in this operation.
@ MEMCATEGORY_GEOMETRY
Geometry held in main memory.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
VertexData(VertexDeclaration *dcl, VertexBufferBinding *bind)
Constructor.
bool mDeleteDclBinding
Whether this class should delete the declaration and binding.
vector< HardwareAnimationData >::type HardwareAnimationDataList
void convertPackedColour(VertexElementType srcType, VertexElementType destType)
Convert all packed colour values (VET_COLOUR_*) in buffers used to another type.
IndexData(const IndexData &rhs)
Protected copy constructor, to prevent misuse.
size_t indexStart
Index in the buffer to start from for this operation.
size_t indexCount
The number of indexes to use from the buffer.
unsigned short targetBufferIndex
Base definition of a hardware buffer manager.
HardwareAnimationDataList hwAnimationDataList
VertexElements used for hardware morph / pose animation.
HardwareIndexBufferSharedPtr indexBuffer
Pointer to the HardwareIndexBuffer to use, must be specified if useIndexes = true.
size_t vertexCount
The number of vertices used in this operation.
#define OGRE_FREE(ptr, category)
Free the memory allocated with OGRE_MALLOC or OGRE_ALLOC_T. Category is required to be restated to en...
VertexCacheProfiler(unsigned int cachesize=16, CacheType cachetype=FIFO)
void optimiseVertexCacheTriList(void)
Re-order the indexes in this index data structure to be more vertex cache friendly; that is to re-use...
Shared pointer implementation used to share index buffers.
bool inCache(unsigned int index)
#define OGRE_ALLOC_T(T, count, category)
Allocate a block of memory for a primitive type, and indicate the category of usage.
HardwareVertexBufferSharedPtr hardwareShadowVolWBuffer
Additional shadow volume vertex buffer storage.
ushort allocateHardwareAnimationElements(ushort count, bool animateNormals)
Allocate elements to serve a holder of morph / pose target data for hardware morphing / pose blending...
Struct used to hold hardware morph / pose vertex data information.
Summary class collecting together vertex source information.
Records the state of all the vertex buffer bindings required to provide a vertex declaration with the...
VertexElementType
Vertex element type, used to identify the base types of the vertex contents.
VertexData * clone(bool copyData=true, HardwareBufferManagerBase *mgr=0) const
Clones this vertex data, potentially including replicating any vertex buffers.
This class declares the format of a set of vertex inputs, which can be issued to the rendering API th...
Shared pointer implementation used to share vertex buffers.
size_t hwAnimDataItemsUsed
Number of hardware animation data items used.
void closeGapsInBindings(void)
Remove any gaps in the vertex buffer bindings.
vector< HardwareBuffer::Usage >::type BufferUsageList
Define a list of usage flags.
void reorganiseBuffers(VertexDeclaration *newDeclaration, const BufferUsageList &bufferUsage, HardwareBufferManagerBase *mgr=0)
Reorganises the data in the vertex buffers according to the new vertex declaration passed in.
void reorganiseBuffers(VertexDeclaration *newDeclaration, HardwareBufferManagerBase *mgr=0)
Reorganises the data in the vertex buffers according to the new vertex declaration passed in.
size_t vertexStart
The base vertex index to start from.
VertexData(HardwareBufferManagerBase *mgr=0)
Constructor.
void prepareForShadowVolume(void)
Modifies the vertex data to be suitable for use for rendering shadow geometry.
HardwareBufferManagerBase * mMgr
VertexData & operator=(const VertexData &rhs)
Protected operator=, to prevent misuse.
VertexData(const VertexData &rhs)
Protected copy constructor, to prevent misuse.
float Real
Software floating point type.
void removeUnusedBuffers(void)
Remove all vertex buffers that never used by the vertex declaration.
IndexData * clone(bool copyData=true, HardwareBufferManagerBase *mgr=0) const
Clones this index data, potentially including replicating the index buffer.
Summary class collecting together index data source information.
VertexBufferBinding * vertexBufferBinding
The vertex buffer bindings to be used.
void profile(const HardwareIndexBufferSharedPtr &indexBuffer)
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.