#include <OgreVertexIndexData.h>
Public Methods | |
VertexData () | |
~VertexData () | |
VertexData * | clone (bool copyData=true) const |
Clones this vertex data, potentially including replicating any vertex buffers. | |
void | prepareForShadowVolume (void) |
Modifies the vertex data to be suitable for use for rendering shadow geometry. | |
void | reorganiseBuffers (VertexDeclaration *newDeclaration, BufferUsageList bufferUsage) |
Reorganises the data in the vertex buffers according to the new vertex declaration passed in. | |
void | reorganiseBuffers (VertexDeclaration *newDeclaration) |
Reorganises the data in the vertex buffers according to the new vertex declaration passed in. | |
Public Attributes | |
VertexDeclaration * | vertexDeclaration |
Declaration of the vertex to be used in this operation. | |
VertexBufferBinding * | vertexBufferBinding |
The vertex buffer bindings to be used. | |
size_t | vertexStart |
The base vertex index to start from, if using unindexed geometry. | |
size_t | vertexCount |
The number of vertices used in this operation. | |
HardwareVertexBufferSharedPtr | hardwareShadowVolWBuffer |
Additional shadow volume vertex buffer storage. | |
Private Methods | |
VertexData (const VertexData &rhs) | |
Protected copy constructor, to prevent misuse. | |
VertexData & | operator= (const VertexData &rhs) |
Protected operator=, to prevent misuse. |
Definition at line 39 of file OgreVertexIndexData.h.
|
Protected copy constructor, to prevent misuse.
Definition at line 43 of file OgreVertexIndexData.h. |
|
Definition at line 39 of file OgreVertexIndexData.cpp. References vertexBufferBinding, vertexCount, vertexDeclaration, and vertexStart. Referenced by clone(). |
|
Definition at line 50 of file OgreVertexIndexData.cpp. References vertexBufferBinding, and vertexDeclaration. |
|
Clones this vertex data, potentially including replicating any vertex buffers.
Definition at line 58 of file OgreVertexIndexData.cpp. References Ogre::VertexDeclaration::addElement(), Ogre::VertexBufferBinding::getBindings(), Ogre::VertexDeclaration::getElements(), Ogre::VertexBufferBinding::setBinding(), vertexBufferBinding, vertexCount, VertexData(), vertexDeclaration, and vertexStart. Referenced by Ogre::Mesh::clone(), and Ogre::Entity::cloneVertexDataRemoveBlendInfo(). |
|
Protected operator=, to prevent misuse.
Definition at line 45 of file OgreVertexIndexData.h. |
|
Modifies the vertex data to be suitable for use for rendering shadow geometry.
Definition at line 114 of file OgreVertexIndexData.cpp. References Ogre::VertexElement::baseVertexPointerToElement(), Ogre::VertexDeclaration::findElementBySemantic(), Ogre::VertexBufferBinding::getBuffer(), Ogre::RenderSystem::getCapabilities(), Ogre::VertexDeclaration::getElements(), Ogre::VertexBufferBinding::getNextIndex(), Ogre::VertexElement::getOffset(), Ogre::VertexElement::getSize(), Ogre::VertexElement::getSource(), hardwareShadowVolWBuffer, Ogre::RenderSystemCapabilities::hasCapability(), Ogre::VertexDeclaration::modifyElement(), Ogre::Real, Ogre::RSC_VERTEX_PROGRAM, Ogre::VertexBufferBinding::setBinding(), vertexBufferBinding, vertexDeclaration, Ogre::VES_POSITION, and Ogre::VET_FLOAT3. Referenced by Ogre::Mesh::prepareForShadowVolume(). |
|
Reorganises the data in the vertex buffers according to the new vertex declaration passed in. Note that new vertex buffers are created and written to, so if the buffers being referenced by this vertex data object are also used by others, then the original buffers will not be damaged by this operation. Once this operation has completed, the new declaration passed in will overwrite the current one. This version of the method derives the buffer usages from the existing buffers, by using the 'most flexible' usage from the equivalent sources.
Definition at line 434 of file OgreVertexIndexData.cpp. References Ogre::BufferUsageList, Ogre::VertexDeclaration::findElementBySemantic(), Ogre::VertexDeclaration::findElementsBySource(), Ogre::VertexBufferBinding::getBuffer(), Ogre::VertexElement::getIndex(), Ogre::VertexDeclaration::getMaxSource(), Ogre::VertexElement::getSemantic(), reorganiseBuffers(), vertexBufferBinding, and vertexDeclaration. |
|
Reorganises the data in the vertex buffers according to the new vertex declaration passed in. Note that new vertex buffers are created and written to, so if the buffers being referenced by this vertex data object are also used by others, then the original buffers will not be damaged by this operation. Once this operation has completed, the new declaration passed in will overwrite the current one.
Definition at line 307 of file OgreVertexIndexData.cpp. References Ogre::VertexElement::baseVertexPointerToElement(), Ogre::BufferUsageList, Ogre::VertexDeclaration::closeGapsInSource(), Except, Ogre::VertexDeclaration::findElementBySemantic(), Ogre::VertexDeclaration::findElementsBySource(), Ogre::VertexBufferBinding::getBuffer(), Ogre::VertexDeclaration::getElements(), Ogre::VertexElement::getSize(), Ogre::VertexElement::getSource(), Ogre::VertexDeclaration::getVertexSize(), Ogre::VertexBufferBinding::setBinding(), vertexBufferBinding, vertexCount, and vertexDeclaration. Referenced by reorganiseBuffers(). |
|
Additional shadow volume vertex buffer storage.
Definition at line 102 of file OgreVertexIndexData.h. Referenced by Ogre::Entity::cloneVertexDataRemoveBlendInfo(), Ogre::Entity::EntityShadowRenderable::EntityShadowRenderable(), and prepareForShadowVolume(). |
|
|
|
|
The base vertex index to start from, if using unindexed geometry.
Definition at line 59 of file OgreVertexIndexData.h. Referenced by Ogre::BillboardSet::_createBuffers(), Ogre::GLRenderSystem::_render(), Ogre::D3D9RenderSystem::_render(), Ogre::D3DRenderSystem::_render(), Ogre::TTYGuiElement::checkAndSetUpdateGeometry(), clone(), Ogre::MeshManager::createCurvedPlane(), Ogre::Entity::EntityShadowRenderable::EntityShadowRenderable(), Ogre::Frustum::Frustum(), Ogre::BillboardSet::getRenderOperation(), Ogre::TTYGuiElement::initialise(), Ogre::TextAreaGuiElement::initialise(), Ogre::TerrainRenderable::initialise(), Ogre::PanelGuiElement::initialise(), Ogre::BorderPanelGuiElement::initialise(), Ogre::PatchMesh::load(), Ogre::BspLevel::loadQuake3Level(), Ogre::MeshSerializerImpl_v1_2::readGeometry(), Ogre::MeshSerializerImpl::readGeometry(), Ogre::Rectangle2D::Rectangle2D(), VertexData(), and Ogre::WireBoundingBox::WireBoundingBox(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:51:46 2004