#include <OgreD3D9VertexDeclaration.h>
Inheritance diagram for Ogre::D3D9VertexDeclaration:
Public Types | |
typedef std::list< VertexElement > | VertexElementList |
Defines the list of vertex elements that makes up this declaration. | |
Public Methods | |
D3D9VertexDeclaration (LPDIRECT3DDEVICE9 device) | |
~D3D9VertexDeclaration () | |
const VertexElement & | addElement (unsigned short source, size_t offset, VertexElementType theType, VertexElementSemantic semantic, unsigned short index=0) |
See VertexDeclaration. | |
const VertexElement & | insertElement (unsigned short atPosition, unsigned short source, size_t offset, VertexElementType theType, VertexElementSemantic semantic, unsigned short index=0) |
See VertexDeclaration. | |
void | removeElement (unsigned short elem_index) |
See VertexDeclaration. | |
void | modifyElement (unsigned short elem_index, unsigned short source, size_t offset, VertexElementType theType, VertexElementSemantic semantic, unsigned short index=0) |
See VertexDeclaration. | |
LPDIRECT3DVERTEXDECLARATION9 | getD3DVertexDeclaration (void) |
Gets the D3D9-specific vertex declaration. | |
size_t | getElementCount (void) |
Get the number of elements in the declaration. | |
const VertexElementList & | getElements (void) const |
Gets read-only access to the list of vertex elements. | |
const VertexElement * | getElement (unsigned short index) |
Get a single element. | |
void | sort (void) |
Sorts the elements in this list to be compatible with the maximum number of rendering APIs / graphics cards. | |
void | closeGapsInSource (void) |
Remove any gaps in the source buffer list used by this declaration. | |
VertexDeclaration * | getAutoOrganisedDeclaration (bool animated) |
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. | |
unsigned short | getMaxSource (void) const |
Gets the indeex of the highest source value referenced by this declaration. | |
virtual void | removeElement (VertexElementSemantic semantic, unsigned short index=0) |
Remove the element with the given semantic and usage index. | |
virtual const VertexElement * | findElementBySemantic (VertexElementSemantic sem, unsigned short index=0) |
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) |
Gets a list of elements which use a given source. | |
virtual size_t | getVertexSize (unsigned short source) |
Gets the vertex size defined by this declaration for a given source. | |
virtual VertexDeclaration * | clone (void) |
Clones this declaration. | |
bool | operator== (const VertexDeclaration &rhs) const |
bool | operator!= (const VertexDeclaration &rhs) const |
Static Public Methods | |
bool | vertexElementLess (const VertexElement &e1, const VertexElement &e2) |
Sort routine for vertex elements. | |
Protected Attributes | |
LPDIRECT3DDEVICE9 | mlpD3DDevice |
LPDIRECT3DVERTEXDECLARATION9 | mlpD3DDecl |
bool | mNeedsRebuild |
VertexElementList | mElementList |
Definition at line 34 of file OgreD3D9VertexDeclaration.h.
|
Defines the list of vertex elements that makes up this declaration.
Definition at line 266 of file OgreHardwareVertexBuffer.h. Referenced by Ogre::VertexDeclaration::findElementsBySource(). |
|
Definition at line 33 of file OgreD3D9VertexDeclaration.cpp. |
|
Definition at line 38 of file OgreD3D9VertexDeclaration.cpp. References mlpD3DDecl, and SAFE_RELEASE. |
|
See VertexDeclaration.
Reimplemented from Ogre::VertexDeclaration. Definition at line 43 of file OgreD3D9VertexDeclaration.cpp. References mNeedsRebuild, Ogre::VertexElementSemantic, and Ogre::VertexElementType. |
|
Clones this declaration.
Definition at line 337 of file OgreHardwareVertexBuffer.cpp. References Ogre::VertexDeclaration::addElement(), and Ogre::VertexDeclaration::mElementList. Referenced by Ogre::VertexDeclaration::getAutoOrganisedDeclaration(), and Ogre::PatchMesh::PatchMesh(). |
|
Remove any gaps in the source buffer list used by this declaration.
Definition at line 381 of file OgreHardwareVertexBuffer.cpp. References Ogre::VertexDeclaration::getElement(), Ogre::VertexElement::getIndex(), Ogre::VertexElement::getOffset(), Ogre::VertexElement::getSemantic(), Ogre::VertexElement::getSource(), Ogre::VertexElement::getType(), Ogre::VertexDeclaration::mElementList, Ogre::VertexDeclaration::modifyElement(), and Ogre::VertexDeclaration::sort(). Referenced by Ogre::VertexData::reorganiseBuffers(). |
|
|
Gets a list of elements which use a given source.
Definition at line 302 of file OgreHardwareVertexBuffer.cpp. References Ogre::VertexDeclaration::mElementList, and Ogre::VertexDeclaration::VertexElementList. Referenced by Ogre::MeshSerializerImpl::readGeometryVertexBuffer(), Ogre::VertexData::reorganiseBuffers(), and Ogre::MeshSerializerImpl::writeGeometry(). |
|
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.
Definition at line 412 of file OgreHardwareVertexBuffer.cpp. References Ogre::VertexDeclaration::clone(), Ogre::VertexDeclaration::getElements(), Ogre::VertexElement::getIndex(), Ogre::VertexElement::getSemantic(), Ogre::VertexElement::getSize(), Ogre::VertexElement::getType(), Ogre::VertexDeclaration::modifyElement(), Ogre::VertexDeclaration::sort(), Ogre::VES_NORMAL, and Ogre::VES_POSITION. |
|
Gets the D3D9-specific vertex declaration.
Definition at line 73 of file OgreD3D9VertexDeclaration.cpp. References Except, Ogre::VertexDeclaration::mElementList, mlpD3DDecl, mlpD3DDevice, mNeedsRebuild, SAFE_RELEASE, Ogre::VES_DIFFUSE, and Ogre::VES_SPECULAR. Referenced by Ogre::D3D9RenderSystem::setVertexDeclaration(). |
|
Get a single element.
Definition at line 239 of file OgreHardwareVertexBuffer.cpp. References Ogre::VertexDeclaration::mElementList. Referenced by Ogre::VertexDeclaration::closeGapsInSource(), and Ogre::Mesh::compileBoneAssignments(). |
|
Get the number of elements in the declaration.
Definition at line 277 of file OgreHardwareVertexBuffer.h. Referenced by Ogre::Mesh::compileBoneAssignments(). |
|
Gets read-only access to the list of vertex elements.
Definition at line 205 of file OgreHardwareVertexBuffer.cpp. References Ogre::VertexDeclaration::mElementList. Referenced by Ogre::GLRenderSystem::_render(), Ogre::D3DRenderSystem::_render(), Ogre::MeshSerializerImpl::calcGeometrySize(), Ogre::VertexData::clone(), Ogre::VertexDeclaration::getAutoOrganisedDeclaration(), Ogre::VertexData::prepareForShadowVolume(), Ogre::VertexData::reorganiseBuffers(), and Ogre::MeshSerializerImpl::writeGeometry(). |
|
Gets the indeex of the highest source value referenced by this declaration.
Definition at line 452 of file OgreHardwareVertexBuffer.cpp. References Ogre::VertexDeclaration::mElementList. Referenced by Ogre::VertexData::reorganiseBuffers(). |
|
|
See VertexDeclaration.
Reimplemented from Ogre::VertexDeclaration. Definition at line 51 of file OgreD3D9VertexDeclaration.cpp. References mNeedsRebuild, Ogre::VertexElementSemantic, and Ogre::VertexElementType. |
|
See VertexDeclaration.
Reimplemented from Ogre::VertexDeclaration. Definition at line 65 of file OgreD3D9VertexDeclaration.cpp. References mNeedsRebuild, Ogre::VertexElementSemantic, and Ogre::VertexElementType. |
|
Definition at line 409 of file OgreHardwareVertexBuffer.h. |
|
Definition at line 392 of file OgreHardwareVertexBuffer.h. References Ogre::VertexDeclaration::mElementList. |
|
Remove the element with the given semantic and usage index.
Definition at line 260 of file OgreHardwareVertexBuffer.cpp. References Ogre::VertexDeclaration::mElementList, and Ogre::VertexElementSemantic. |
|
See VertexDeclaration.
Reimplemented from Ogre::VertexDeclaration. Definition at line 59 of file OgreD3D9VertexDeclaration.cpp. References mNeedsRebuild. |
|
Sorts the elements in this list to be compatible with the maximum number of rendering APIs / graphics cards.
Definition at line 376 of file OgreHardwareVertexBuffer.cpp. References Ogre::VertexDeclaration::mElementList. Referenced by Ogre::VertexDeclaration::closeGapsInSource(), and Ogre::VertexDeclaration::getAutoOrganisedDeclaration(). |
|
Sort routine for vertex elements.
Definition at line 351 of file OgreHardwareVertexBuffer.cpp. References Ogre::VertexElement::getIndex(), Ogre::VertexElement::getSemantic(), and Ogre::VertexElement::getSource(). |
|
|
Definition at line 38 of file OgreD3D9VertexDeclaration.h. Referenced by getD3DVertexDeclaration(), and ~D3D9VertexDeclaration(). |
|
Definition at line 37 of file OgreD3D9VertexDeclaration.h. Referenced by getD3DVertexDeclaration(). |
|
Definition at line 39 of file OgreD3D9VertexDeclaration.h. Referenced by addElement(), getD3DVertexDeclaration(), insertElement(), modifyElement(), and removeElement(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:49:29 2004