This class declares the format of a set of vertex inputs, which can be issued to the rendering API through a RenderOperation.  
 More...
|  | 
|  | VertexDeclaration (HardwareBufferManagerBase *creator) | 
|  | Standard constructor, not you should use HardwareBufferManager::createVertexDeclaration. 
 | 
|  | 
| virtual | ~VertexDeclaration () | 
|  | 
| uint16 | _getInputLayoutId (HlmsManager *hlmsManager, OperationType opType) | 
|  | VertexDeclaration do not store OperationType, which is why we cache just the base 10 bits. 
 | 
|  | 
| virtual const VertexElement & | addElement (unsigned short source, size_t offset, VertexElementType theType, VertexElementSemantic semantic, unsigned short index=0) | 
|  | Adds a new VertexElement to this declaration. 
 | 
|  | 
| virtual VertexDeclaration * | clone (HardwareBufferManagerBase *mgr=0) const | 
|  | Clones this declaration. 
 | 
|  | 
| void | closeGapsInSource (void) | 
|  | Remove any gaps in the source buffer list used by this declaration. 
 | 
|  | 
| void | convertFromV2 (const VertexElement2Vec &v2Decl) | 
|  | 
| void | convertFromV2 (const VertexElement2VecVec &v2Decl) | 
|  | 
| VertexElement2VecVec | convertToV2 (void) | 
|  | 
| virtual const VertexElement * | findElementBySemantic (VertexElementSemantic sem, unsigned short index=0) const | 
|  | Finds a VertexElement with the given semantic, and index if there is more than one element with the same semantic. 
 | 
|  | 
| virtual VertexElementList | findElementsBySource (unsigned short source) const | 
|  | Based on the current elements, gets the size of the vertex for a given buffer source. 
 | 
|  | 
| VertexDeclaration * | getAutoOrganisedDeclaration (bool skeletalAnimation, bool vertexAnimation, bool vertexAnimationNormals) const | 
|  | Generates a new VertexDeclaration for optimal usage based on the current vertex declaration, which can be used with VertexData::reorganiseBuffers later if you wish, or simply used as a template. 
 | 
|  | 
| const VertexElement * | getElement (unsigned short index) const | 
|  | Get a single element. 
 | 
|  | 
| size_t | getElementCount (void) const | 
|  | Get the number of elements in the declaration. 
 | 
|  | 
| const VertexElementList & | getElements (void) const | 
|  | Gets read-only access to the list of vertex elements. 
 | 
|  | 
| unsigned short | getMaxSource (void) const | 
|  | Gets the index of the highest source value referenced by this declaration. 
 | 
|  | 
| virtual unsigned short | getNextFreeTextureCoordinate () const | 
|  | Return the index of the next free texture coordinate set which may be added to this declaration. 
 | 
|  | 
| virtual size_t | getVertexSize (unsigned short source) const | 
|  | Gets the vertex size defined by this declaration for a given source. 
 | 
|  | 
| virtual const VertexElement & | insertElement (unsigned short atPosition, unsigned short source, size_t offset, VertexElementType theType, VertexElementSemantic semantic, unsigned short index=0) | 
|  | Inserts a new VertexElement at a given position in this declaration. 
 | 
|  | 
| bool | isSortedForV2 (void) const | 
|  | 
| virtual void | modifyElement (unsigned short elem_index, unsigned short source, size_t offset, VertexElementType theType, VertexElementSemantic semantic, unsigned short index=0) | 
|  | Modify an element in-place, params as addElement. 
 | 
|  | 
| void | operator delete (void *ptr) | 
|  | 
| void | operator delete (void *ptr, const char *, int, const char *) | 
|  | 
| void | operator delete (void *ptr, void *) | 
|  | 
| void | operator delete[] (void *ptr) | 
|  | 
| void | operator delete[] (void *ptr, const char *, int, const char *) | 
|  | 
| void * | operator new (size_t sz) | 
|  | 
| void * | operator new (size_t sz, const char *file, int line, const char *func) | 
|  | operator new, with debug line info 
 | 
|  | 
| void * | operator new (size_t sz, void *ptr) | 
|  | placement operator new 
 | 
|  | 
| void * | operator new[] (size_t sz) | 
|  | 
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) | 
|  | array operator new, with debug line info 
 | 
|  | 
| bool | operator!= (const VertexDeclaration &rhs) const | 
|  | 
| bool | operator== (const VertexDeclaration &rhs) const | 
|  | 
| virtual void | removeAllElements (void) | 
|  | Remove all elements. 
 | 
|  | 
| virtual void | removeElement (unsigned short elem_index) | 
|  | Remove the element at the given index from this declaration. 
 | 
|  | 
| virtual void | removeElement (VertexElementSemantic semantic, unsigned short index=0) | 
|  | Remove the element with the given semantic and usage index. 
 | 
|  | 
| void | sort (void) | 
|  | Sorts the elements in this list to be compatible with the maximum number of rendering APIs / graphics cards. 
 | 
|  | 
| void | sortForV2 (void) | 
|  | 
This class declares the format of a set of vertex inputs, which can be issued to the rendering API through a RenderOperation. 
- Like the other classes in this functional area, these declarations should be created and destroyed using the HardwareBufferManager.