Specialisation of VertexDeclaration for D3D9. More...
#include <OgreD3D9VertexDeclaration.h>

Public Types | |
| typedef list< VertexElement >::type | VertexElementList |
| Defines the list of vertex elements that makes up this declaration. | |
Public Member Functions | |
| D3D9VertexDeclaration () | |
| ~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 | removeElement (VertexElementSemantic semantic, unsigned short index=0) |
| See VertexDeclaration. | |
| void | removeAllElements (void) |
| See VertexDeclaration. | |
| void | modifyElement (unsigned short elem_index, unsigned short source, size_t offset, VertexElementType theType, VertexElementSemantic semantic, unsigned short index=0) |
| See VertexDeclaration. | |
| virtual void | notifyOnDeviceCreate (IDirect3DDevice9 *d3d9Device) |
| virtual void | notifyOnDeviceDestroy (IDirect3DDevice9 *d3d9Device) |
| IDirect3DVertexDeclaration9 * | getD3DVertexDeclaration (VertexDeclaration *globalDeclaration, bool useGlobalInstancingVertexBufferIsAvailable) |
| Gets the D3D9-specific vertex declaration. | |
| 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. | |
| const VertexElement * | getElement (unsigned short index) const |
| 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 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. | |
| unsigned short | getMaxSource (void) const |
| Gets the index of the highest source value referenced by this declaration. | |
| 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. | |
| virtual size_t | getVertexSize (unsigned short source) const |
| Gets the vertex size defined by this declaration for a given source. | |
| virtual unsigned short | getNextFreeTextureCoordinate () const |
| Return the index of the next free texture coordinate set which may be added to this declaration. | |
| virtual VertexDeclaration * | clone (HardwareBufferManagerBase *mgr=0) const |
| Clones this declaration. | |
| bool | operator== (const VertexDeclaration &rhs) const |
| bool | operator!= (const VertexDeclaration &rhs) const |
| 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 * | operator new (size_t sz, void *ptr) |
| placement operator new | |
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info | |
| void * | operator new[] (size_t sz) |
| void | operator delete (void *ptr) |
| void | operator delete (void *ptr, void *) |
| void | operator delete (void *ptr, const char *, int, const char *) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr, const char *, int, const char *) |
| virtual void | notifyOnDeviceLost (IDirect3DDevice9 *d3d9Device) |
| virtual void | notifyOnDeviceReset (IDirect3DDevice9 *d3d9Device) |
Static Public Member Functions | |
| static bool | vertexElementLess (const VertexElement &e1, const VertexElement &e2) |
| Sort routine for vertex elements. | |
| static void | lockDeviceAccess () |
| static void | unlockDeviceAccess () |
Protected Types | |
| typedef map< IDirect3DDevice9 *, IDirect3DVertexDeclaration9 * > ::type | DeviceToDeclarationMap |
| typedef DeviceToDeclarationMap::iterator | DeviceToDeclarationIterator |
Protected Member Functions | |
| void | releaseDeclaration () |
| void | convertElement (const VertexElement &element, D3DVERTEXELEMENT9 &dxElement) |
Protected Attributes | |
| DeviceToDeclarationMap | mMapDeviceToDeclaration |
| VertexDeclaration * | mLastUsedGlobalDeclaration |
| bool | mUsedGlobalDeclaration |
| VertexElementList | mElementList |
Specialisation of VertexDeclaration for D3D9.
Definition at line 38 of file OgreD3D9VertexDeclaration.h.
typedef DeviceToDeclarationMap::iterator Ogre::D3D9VertexDeclaration::DeviceToDeclarationIterator [protected] |
Definition at line 83 of file OgreD3D9VertexDeclaration.h.
typedef map<IDirect3DDevice9*, IDirect3DVertexDeclaration9*>::type Ogre::D3D9VertexDeclaration::DeviceToDeclarationMap [protected] |
Definition at line 82 of file OgreD3D9VertexDeclaration.h.
typedef list<VertexElement>::type Ogre::VertexDeclaration::VertexElementList [inherited] |
Defines the list of vertex elements that makes up this declaration.
Definition at line 321 of file OgreHardwareVertexBuffer.h.
| const VertexElement& Ogre::D3D9VertexDeclaration::addElement | ( | unsigned short | source, |
| size_t | offset, | ||
| VertexElementType | theType, | ||
| VertexElementSemantic | semantic, | ||
| unsigned short | index = 0 |
||
| ) | [virtual] |
See VertexDeclaration.
Reimplemented from Ogre::VertexDeclaration.
| virtual VertexDeclaration* Ogre::VertexDeclaration::clone | ( | HardwareBufferManagerBase * | mgr = 0 | ) | const [virtual, inherited] |
Clones this declaration.
| mgr | Optional HardwareBufferManager to use for creating the clone (if null, use the current default). |
| void Ogre::VertexDeclaration::closeGapsInSource | ( | void | ) | [inherited] |
Remove any gaps in the source buffer list used by this declaration.
| void Ogre::D3D9VertexDeclaration::convertElement | ( | const VertexElement & | element, |
| D3DVERTEXELEMENT9 & | dxElement | ||
| ) | [protected] |
| virtual const VertexElement* Ogre::VertexDeclaration::findElementBySemantic | ( | VertexElementSemantic | sem, |
| unsigned short | index = 0 |
||
| ) | const [virtual, inherited] |
Finds a VertexElement with the given semantic, and index if there is more than one element with the same semantic.
| virtual VertexElementList Ogre::VertexDeclaration::findElementsBySource | ( | unsigned short | source | ) | const [virtual, inherited] |
Based on the current elements, gets the size of the vertex for a given buffer source.
| source | The buffer binding index for which to get the vertex size. Gets a list of elements which use a given source. |
| VertexDeclaration* Ogre::VertexDeclaration::getAutoOrganisedDeclaration | ( | bool | skeletalAnimation, |
| bool | vertexAnimation, | ||
| bool | vertexAnimationNormals | ||
| ) | const [inherited] |
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.
| skeletalAnimation | Whether this vertex data is going to be skeletally animated |
| vertexAnimation | Whether this vertex data is going to be vertex animated |
| vertexAnimationNormals | Whether vertex data animation is going to include normals animation |
| IDirect3DVertexDeclaration9* Ogre::D3D9VertexDeclaration::getD3DVertexDeclaration | ( | VertexDeclaration * | globalDeclaration, |
| bool | useGlobalInstancingVertexBufferIsAvailable | ||
| ) |
Gets the D3D9-specific vertex declaration.
| const VertexElement* Ogre::VertexDeclaration::getElement | ( | unsigned short | index | ) | const [inherited] |
Get a single element.
| size_t Ogre::VertexDeclaration::getElementCount | ( | void | ) | const [inherited] |
Get the number of elements in the declaration.
Definition at line 332 of file OgreHardwareVertexBuffer.h.
| const VertexElementList& Ogre::VertexDeclaration::getElements | ( | void | ) | const [inherited] |
Gets read-only access to the list of vertex elements.
| unsigned short Ogre::VertexDeclaration::getMaxSource | ( | void | ) | const [inherited] |
Gets the index of the highest source value referenced by this declaration.
| virtual unsigned short Ogre::VertexDeclaration::getNextFreeTextureCoordinate | ( | ) | const [virtual, inherited] |
Return the index of the next free texture coordinate set which may be added to this declaration.
| virtual size_t Ogre::VertexDeclaration::getVertexSize | ( | unsigned short | source | ) | const [virtual, inherited] |
Gets the vertex size defined by this declaration for a given source.
| const VertexElement& Ogre::D3D9VertexDeclaration::insertElement | ( | unsigned short | atPosition, |
| unsigned short | source, | ||
| size_t | offset, | ||
| VertexElementType | theType, | ||
| VertexElementSemantic | semantic, | ||
| unsigned short | index = 0 |
||
| ) | [virtual] |
See VertexDeclaration.
Reimplemented from Ogre::VertexDeclaration.
| static void Ogre::D3D9Resource::lockDeviceAccess | ( | ) | [static, inherited] |
| void Ogre::D3D9VertexDeclaration::modifyElement | ( | unsigned short | elem_index, |
| unsigned short | source, | ||
| size_t | offset, | ||
| VertexElementType | theType, | ||
| VertexElementSemantic | semantic, | ||
| unsigned short | index = 0 |
||
| ) | [virtual] |
See VertexDeclaration.
Reimplemented from Ogre::VertexDeclaration.
| virtual void Ogre::D3D9VertexDeclaration::notifyOnDeviceCreate | ( | IDirect3DDevice9 * | d3d9Device | ) | [virtual] |
Reimplemented from Ogre::D3D9Resource.
| virtual void Ogre::D3D9VertexDeclaration::notifyOnDeviceDestroy | ( | IDirect3DDevice9 * | d3d9Device | ) | [virtual] |
Reimplemented from Ogre::D3D9Resource.
| virtual void Ogre::D3D9Resource::notifyOnDeviceLost | ( | IDirect3DDevice9 * | d3d9Device | ) | [virtual, inherited] |
Reimplemented in Ogre::D3D9Texture, Ogre::D3D9HardwareOcclusionQuery, Ogre::D3D9HardwareIndexBuffer, and Ogre::D3D9HardwareVertexBuffer.
Definition at line 53 of file OgreD3D9Resource.h.
| virtual void Ogre::D3D9Resource::notifyOnDeviceReset | ( | IDirect3DDevice9 * | d3d9Device | ) | [virtual, inherited] |
Reimplemented in Ogre::D3D9Texture, Ogre::D3D9HardwareOcclusionQuery, Ogre::D3D9HardwareIndexBuffer, and Ogre::D3D9HardwareVertexBuffer.
Definition at line 57 of file OgreD3D9Resource.h.
| void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | [inherited] |
Definition at line 95 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, |
| void * | |||
| ) | [inherited] |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, |
| const char * | , | ||
| int | , | ||
| const char * | |||
| ) | [inherited] |
Definition at line 107 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr, |
| const char * | , | ||
| int | , | ||
| const char * | |||
| ) | [inherited] |
Definition at line 118 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, |
| const char * | file, | ||
| int | line, | ||
| const char * | func | ||
| ) | [inherited] |
operator new, with debug line info
Definition at line 67 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | [inherited] |
Definition at line 72 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, |
| void * | ptr | ||
| ) | [inherited] |
placement operator new
Definition at line 78 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz, |
| const char * | file, | ||
| int | line, | ||
| const char * | func | ||
| ) | [inherited] |
array operator new, with debug line info
Definition at line 85 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | [inherited] |
Definition at line 90 of file OgreMemoryAllocatedObject.h.
| bool Ogre::VertexDeclaration::operator!= | ( | const VertexDeclaration & | rhs | ) | const [inherited] |
Definition at line 481 of file OgreHardwareVertexBuffer.h.
| bool Ogre::VertexDeclaration::operator== | ( | const VertexDeclaration & | rhs | ) | const [inherited] |
Definition at line 464 of file OgreHardwareVertexBuffer.h.
References Ogre::VertexDeclaration::mElementList.
| void Ogre::D3D9VertexDeclaration::releaseDeclaration | ( | ) | [protected] |
| void Ogre::D3D9VertexDeclaration::removeAllElements | ( | void | ) | [virtual] |
See VertexDeclaration.
Reimplemented from Ogre::VertexDeclaration.
| void Ogre::D3D9VertexDeclaration::removeElement | ( | unsigned short | elem_index | ) | [virtual] |
See VertexDeclaration.
Reimplemented from Ogre::VertexDeclaration.
| void Ogre::D3D9VertexDeclaration::removeElement | ( | VertexElementSemantic | semantic, |
| unsigned short | index = 0 |
||
| ) | [virtual] |
See VertexDeclaration.
Reimplemented from Ogre::VertexDeclaration.
| void Ogre::VertexDeclaration::sort | ( | void | ) | [inherited] |
Sorts the elements in this list to be compatible with the maximum number of rendering APIs / graphics cards.
| static void Ogre::D3D9Resource::unlockDeviceAccess | ( | ) | [static, inherited] |
| static bool Ogre::VertexDeclaration::vertexElementLess | ( | const VertexElement & | e1, |
| const VertexElement & | e2 | ||
| ) | [static, inherited] |
Sort routine for vertex elements.
VertexElementList Ogre::VertexDeclaration::mElementList [protected, inherited] |
Definition at line 325 of file OgreHardwareVertexBuffer.h.
Referenced by Ogre::VertexDeclaration::operator==().
Definition at line 86 of file OgreD3D9VertexDeclaration.h.
Definition at line 85 of file OgreD3D9VertexDeclaration.h.
bool Ogre::D3D9VertexDeclaration::mUsedGlobalDeclaration [protected] |
Definition at line 87 of file OgreD3D9VertexDeclaration.h.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Sun Sep 2 2012 07:27:50