|
OpenMW
|
Renders a chunk of terrain, either using alpha splatting or a composite map. More...
#include <chunk.hpp>
Public Member Functions | |
| Chunk (QuadTreeNode *node, short lodLevel) | |
| virtual | ~Chunk () |
| void | setMaterial (const Ogre::MaterialPtr &material) |
| void | setAdditionalLod (size_t lod) |
| size_t | getAdditionalLod () |
| void | updateIndexBuffer () |
| virtual const Ogre::String & | getMovableType (void) const |
| virtual const Ogre::AxisAlignedBox & | getBoundingBox (void) const |
| virtual Ogre::Real | getBoundingRadius (void) const |
| virtual void | _updateRenderQueue (Ogre::RenderQueue *queue) |
| virtual void | visitRenderables (Renderable::Visitor *visitor, bool debugRenderables=false) |
| virtual const Ogre::MaterialPtr & | getMaterial (void) const |
| virtual void | getRenderOperation (Ogre::RenderOperation &op) |
| virtual void | getWorldTransforms (Ogre::Matrix4 *xform) const |
| virtual Ogre::Real | getSquaredViewDepth (const Ogre::Camera *cam) const |
| virtual const Ogre::LightList & | getLights (void) const |
Private Attributes | |
| QuadTreeNode * | mNode |
| Ogre::MaterialPtr | mMaterial |
| size_t | mVertexLod |
| size_t | mAdditionalLod |
| Ogre::VertexData * | mVertexData |
| Ogre::IndexData * | mIndexData |
| Ogre::HardwareVertexBufferSharedPtr | mVertexBuffer |
| Ogre::HardwareVertexBufferSharedPtr | mNormalBuffer |
| Ogre::HardwareVertexBufferSharedPtr | mColourBuffer |
| Ogre::HardwareIndexBufferSharedPtr | mIndexBuffer |
Renders a chunk of terrain, either using alpha splatting or a composite map.
| Terrain::Chunk::Chunk | ( | QuadTreeNode * | node, |
| short | lodLevel | ||
| ) |
| lodLevel | LOD level for the vertex buffer. |
| Terrain::Chunk::~Chunk | ( | ) | [virtual] |
| void Terrain::Chunk::_updateRenderQueue | ( | Ogre::RenderQueue * | queue | ) | [virtual] |
| size_t Terrain::Chunk::getAdditionalLod | ( | ) | [inline] |
| const Ogre::AxisAlignedBox & Terrain::Chunk::getBoundingBox | ( | void | ) | const [virtual] |
| Ogre::Real Terrain::Chunk::getBoundingRadius | ( | void | ) | const [virtual] |
| const Ogre::LightList & Terrain::Chunk::getLights | ( | void | ) | const [virtual] |
| const Ogre::MaterialPtr & Terrain::Chunk::getMaterial | ( | void | ) | const [virtual] |
| virtual const Ogre::String& Terrain::Chunk::getMovableType | ( | void | ) | const [inline, virtual] |
| void Terrain::Chunk::getRenderOperation | ( | Ogre::RenderOperation & | op | ) | [virtual] |
| Ogre::Real Terrain::Chunk::getSquaredViewDepth | ( | const Ogre::Camera * | cam | ) | const [virtual] |
| void Terrain::Chunk::getWorldTransforms | ( | Ogre::Matrix4 * | xform | ) | const [virtual] |
| void Terrain::Chunk::setAdditionalLod | ( | size_t | lod | ) | [inline] |
Set additional LOD applied on top of vertex LOD.
This is achieved by changing the index buffer to omit vertices.
| void Terrain::Chunk::setMaterial | ( | const Ogre::MaterialPtr & | material | ) |
| void Terrain::Chunk::updateIndexBuffer | ( | ) |
| void Terrain::Chunk::visitRenderables | ( | Renderable::Visitor * | visitor, |
| bool | debugRenderables = false |
||
| ) | [virtual] |
size_t Terrain::Chunk::mAdditionalLod [private] |
Ogre::HardwareVertexBufferSharedPtr Terrain::Chunk::mColourBuffer [private] |
Ogre::HardwareIndexBufferSharedPtr Terrain::Chunk::mIndexBuffer [private] |
Ogre::IndexData* Terrain::Chunk::mIndexData [private] |
Ogre::MaterialPtr Terrain::Chunk::mMaterial [private] |
QuadTreeNode* Terrain::Chunk::mNode [private] |
Ogre::HardwareVertexBufferSharedPtr Terrain::Chunk::mNormalBuffer [private] |
Ogre::HardwareVertexBufferSharedPtr Terrain::Chunk::mVertexBuffer [private] |
Ogre::VertexData* Terrain::Chunk::mVertexData [private] |
size_t Terrain::Chunk::mVertexLod [private] |
1.7.6.1