#include <lugre_fastbatch.h>


Public Member Functions | |
| cFastBatch () | |
| virtual | ~cFastBatch () |
| void | AddMesh (cBufferedMesh &pBufferedMesh, const Ogre::Vector3 &vPos, const Ogre::Quaternion &qRot=Ogre::Quaternion::IDENTITY, const Ogre::Vector3 &vScale=Ogre::Vector3::UNIT_SCALE, const Ogre::ColourValue &vCol=Ogre::ColourValue::White, const bool bColourOverride=false, const float fOrderValue=0) |
| void | Build () |
| call this after adding all meshes... use only once | |
| void | SetDisplayRange (const float fMin, const float fMax) |
| inclusive range of order vals, useful for blending out upper floors | |
| const Ogre::Vector3 & | GetBoundsCenter () const |
| virtual void | _updateRenderQueue (Ogre::RenderQueue *queue) |
| virtual const Ogre::AxisAlignedBox & | getBoundingBox (void) const |
| Ogre::Real | getBoundingRadius (void) const |
| virtual const Ogre::String & | getMovableType (void) const |
Private Types | |
| typedef std::map< std::string, cSubBatch * >::iterator | tSubBatchMapIterator |
| typedef std::map< std::string, cSubBatch * > | tSubBatchMap |
Private Attributes | |
| tSubBatchMap | mSubBatches |
| Ogre::AxisAlignedBox | mBounds |
| Ogre::Vector3 | mvBoundsCenter |
| Ogre::Real | mfBoundRad |
Classes | |
| class | cInstance |
| records positions of added meshes More... | |
| class | cSubBatch |
| one material group More... | |
Definition at line 67 of file lugre_fastbatch.h.
typedef std::map<std::string,cSubBatch*>::iterator Lugre::cFastBatch::tSubBatchMapIterator [private] |
Definition at line 103 of file lugre_fastbatch.h.
typedef std::map<std::string,cSubBatch*> Lugre::cFastBatch::tSubBatchMap [private] |
Definition at line 105 of file lugre_fastbatch.h.
| Lugre::cFastBatch::cFastBatch | ( | ) |
| Lugre::cFastBatch::~cFastBatch | ( | ) | [virtual] |
| void Lugre::cFastBatch::AddMesh | ( | cBufferedMesh & | pBufferedMesh, | |
| const Ogre::Vector3 & | vPos, | |||
| const Ogre::Quaternion & | qRot = Ogre::Quaternion::IDENTITY, |
|||
| const Ogre::Vector3 & | vScale = Ogre::Vector3::UNIT_SCALE, |
|||
| const Ogre::ColourValue & | vCol = Ogre::ColourValue::White, |
|||
| const bool | bColourOverride = false, |
|||
| const float | fOrderValue = 0 | |||
| ) |
add mesh, if bColourOverride is false then vCol is ignored fOrderValue can be used to blend out ranges without the need to change the buffers (uses renderop offset,length)
Definition at line 44 of file lugre_fastbatch.cpp.
References Lugre::cFastBatch::cSubBatch::AddInstance(), DEBUG_FASTBATCH, Lugre::cBufferedMesh::GetBounds(), Lugre::cBufferedSubMesh::GetFormatHash(), Lugre::cBufferedSubMesh::GetFormatHashWithColour(), Lugre::cBufferedMesh::GetSubMesh(), Lugre::cBufferedMesh::GetSubMeshCount(), Lugre::cBufferedSubMesh::GetUsesShared(), mBounds, and mSubBatches.
| void Lugre::cFastBatch::Build | ( | ) |
call this after adding all meshes... use only once
Definition at line 86 of file lugre_fastbatch.cpp.
References DEBUG_FASTBATCH, mBounds, mfBoundRad, mSubBatches, mvBoundsCenter, and Lugre::mymax().
Referenced by Lugre::cGfx3D_L::FastBatch_Build().
| void Lugre::cFastBatch::SetDisplayRange | ( | const float | fMin, | |
| const float | fMax | |||
| ) |
inclusive range of order vals, useful for blending out upper floors
Definition at line 108 of file lugre_fastbatch.cpp.
References mSubBatches.
Referenced by Lugre::cGfx3D_L::FastBatch_SetDisplayRange().
| const Ogre::Vector3& Lugre::cFastBatch::GetBoundsCenter | ( | ) | const [inline] |
Definition at line 89 of file lugre_fastbatch.h.
References mvBoundsCenter.
Referenced by Lugre::cFastBatch::cSubBatch::getSquaredViewDepth().
| void Lugre::cFastBatch::_updateRenderQueue | ( | Ogre::RenderQueue * | queue | ) | [virtual] |
| virtual const Ogre::AxisAlignedBox& Lugre::cFastBatch::getBoundingBox | ( | void | ) | const [inline, virtual] |
| Ogre::Real Lugre::cFastBatch::getBoundingRadius | ( | void | ) | const [inline] |
| const Ogre::String & Lugre::cFastBatch::getMovableType | ( | void | ) | const [virtual] |
Definition at line 123 of file lugre_fastbatch.cpp.
tSubBatchMap Lugre::cFastBatch::mSubBatches [private] |
Definition at line 106 of file lugre_fastbatch.h.
Referenced by _updateRenderQueue(), AddMesh(), Build(), SetDisplayRange(), and ~cFastBatch().
Ogre::AxisAlignedBox Lugre::cFastBatch::mBounds [private] |
Definition at line 107 of file lugre_fastbatch.h.
Referenced by AddMesh(), Build(), cFastBatch(), and getBoundingBox().
Ogre::Vector3 Lugre::cFastBatch::mvBoundsCenter [private] |
Ogre::Real Lugre::cFastBatch::mfBoundRad [private] |
Definition at line 109 of file lugre_fastbatch.h.
Referenced by Build(), cFastBatch(), and getBoundingRadius().
1.5.6