#include <OgreTerrainRenderable.h>
Inheritance diagram for Ogre::TerrainRenderable:
Public Types | |
enum | Neighbor { NORTH = 0, SOUTH = 1, EAST = 2, WEST = 3, HERE = 4 } |
typedef std::vector< ShadowRenderable * > | ShadowRenderableList |
typedef VectorIterator< ShadowRenderableList > | ShadowRenderableListIterator |
Public Methods | |
TerrainRenderable () | |
~TerrainRenderable () | |
void | deleteGeometry () |
void | init (TerrainOptions &options) |
Initializes the TerrainRenderable with the given options. | |
virtual const String & | getName (void) const |
Returns the name of the TerrainRenderable. | |
virtual const String & | getMovableType (void) const |
Returns the type of the movable. | |
const AxisAlignedBox & | getBoundingBox (void) const |
Returns the bounding box of this TerrainRenderable. | |
virtual void | _notifyCurrentCamera (Camera *cam) |
Updates the level of detail to be used for rendering this TerrainRenderable based on the passed in Camera. | |
virtual void | _updateRenderQueue (RenderQueue *queue) |
Internal method by which the movable object must add Renderable subclass instances to the rendering queue. | |
virtual void | getRenderOperation (RenderOperation &rend) |
Constructs a RenderOperation to render the TerrainRenderable. | |
virtual Material * | getMaterial (void) const |
Retrieves a pointer to the material this renderable object uses. | |
virtual void | getWorldTransforms (Matrix4 *xform) const |
Gets the world transform matrix / matrices for this renderable object. | |
virtual const Quaternion & | getWorldOrientation (void) const |
Gets the worldspace orientation of this renderable; this is used in order to more efficiently update parameters to vertex & fragment programs, since inverting Quaterion and Vector in order to derive object-space positions / directions for cameras and lights is much more efficient than inverting a complete 4x4 matrix, and also eliminates problems introduced by scaling. | |
virtual const Vector3 & | getWorldPosition (void) const |
Gets the worldspace orientation of this renderable; this is used in order to more efficiently update parameters to vertex & fragment programs, since inverting Quaterion and Vector in order to derive object-space positions / directions for cameras and lights is much more efficient than inverting a complete 4x4 matrix, and also eliminates problems introduced by scaling. | |
int | getSize () const |
Returns the size of the TerrainRenderable. | |
int | getRenderLevel () const |
Returns the mipmap level that will be rendered for this frame. | |
void | setForcedRenderLevel (int i) |
Forces the LOD to the given level from this point on. | |
int | getNumMipMaps () const |
Returns the maximum number of mipmaps used for LOD. | |
void | _getNormalAt (float x, float y, Vector3 *result) |
Calculates the normal at the given location. | |
float | getHeightAt (float x, float y) |
Returns the terrain height at the given coordinates. | |
bool | intersectSegment (const Vector3 &start, const Vector3 &end, Vector3 *result) |
Intersects the segment witht he terrain tile. | |
void | _setNeighbor (Neighbor n, TerrainRenderable *t) |
Sets the appropriate neighbor for this TerrainRenderable. | |
TerrainRenderable * | _getNeighbor (Neighbor n) |
Returns the neighbor TerrainRenderable. | |
void | setMaterial (Material *m) |
void | _alignNeighbors () |
Aligns mipmap levels between neighbors so that only 1 LOD level separates neighbors. | |
void | _calculateNormals () |
Calculates static normals for lighting the terrain. | |
void | _generateVertexLighting (const Vector3 &sun, ColourValue ambient) |
Generates terrain shadows and lighting using vertex colors. | |
Real | getSquaredViewDepth (const Camera *cam) const |
Overridden, see Renderable. | |
Real | getBoundingRadius (void) const |
Overridden from MovableObject. | |
const LightList & | getLights (void) const |
@copydoc Renderable::getLights | |
virtual Technique * | getTechnique (void) const |
Retrieves a pointer to the Material Technique this renderable object uses. | |
virtual unsigned short | getNumWorldTransforms (void) const |
Returns the number of world transform matrices this renderable requires. | |
virtual bool | useIdentityProjection (void) const |
Returns whether or not to use an 'identity' projection. | |
virtual bool | useIdentityView (void) const |
Returns whether or not to use an 'identity' projection. | |
virtual SceneDetailLevel | getRenderDetail () const |
Returns the preferred rasterisation mode of this renderable. | |
virtual bool | getNormaliseNormals (void) const |
Returns whether or not this Renderable wishes the hardware to normalise normals. | |
virtual const PlaneList & | getClipPlanes () const |
virtual bool | getCastsShadows (void) const |
Method which reports whether this renderable would normally cast a shadow. | |
virtual Node * | getParentNode (void) const |
Returns the node to which this object is attached. | |
virtual void | _notifyAttached (Node *parent, bool isTagPoint=false) |
Internal method called to notify the object that it has been attached to a node. | |
virtual bool | isAttached (void) const |
Returns true if this object is attached to a SceneNode or TagPoint. | |
virtual const AxisAlignedBox & | getWorldBoundingBox (bool derive=false) const |
Retrieves the axis-aligned bounding box for this object in world coordinates. | |
virtual const Sphere & | getWorldBoundingSphere (bool derive=false) const |
Retrieves the worldspace bounding sphere for this object. | |
virtual void | setVisible (bool visible) |
Tells this object whether to be visible or not, if it has a renderable component. | |
virtual bool | isVisible (void) const |
Returns whether or not this object is supposed to be visible or not. | |
virtual void | setUserObject (UserDefinedObject *obj) |
Call this to associate your own custom user object instance with this MovableObject. | |
virtual UserDefinedObject * | getUserObject (void) |
Retrieves a pointer to a custom application object associated with this movable by an earlier call to setUserObject. | |
virtual void | setRenderQueueGroup (RenderQueueGroupID queueID) |
Sets the render queue group this entity will be rendered through. | |
virtual RenderQueueGroupID | getRenderQueueGroup (void) const |
Gets the queue group for this entity, see setRenderQueueGroup for full details. | |
virtual Matrix4 | _getParentNodeFullTransform (void) const |
return the full transformation of the parent sceneNode or the attachingPoint node | |
virtual void | setQueryFlags (unsigned long flags) |
Sets the query flags for this object. | |
virtual void | addQueryFlags (unsigned long flags) |
As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object. | |
virtual void | removeQueryFlags (unsigned long flags) |
As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object. | |
virtual unsigned long | getQueryFlags (void) const |
Returns the query flags relevant for this object. | |
EdgeData * | getEdgeList (void) |
Define a default implementation of method from ShadowCaster which implements no shadows. | |
ShadowRenderableListIterator | getShadowVolumeRenderableIterator (ShadowTechnique shadowTechnique, const Light *light, HardwareIndexBufferSharedPtr *indexBuffer, bool extrudeVertices, Real extrusionDist, unsigned long flags=0) |
Define a default implementation of method from ShadowCaster which implements no shadows. | |
const AxisAlignedBox & | getLightCapBounds (void) const |
Overridden member from ShadowCaster. | |
const AxisAlignedBox & | getDarkCapBounds (const Light &light, Real dirLightExtrusionDist) const |
Overridden member from ShadowCaster. | |
void | setCastShadows (bool enabled) |
Sets whether or not this object will cast shadows. | |
bool | getCastShadows (void) const |
Returns whether shadow casting is enabled for this object. | |
Real | getPointExtrusionDistance (const Light *l) const |
Get the distance to extrude for a point/spot light. | |
Static Public Methods | |
void | extrudeVertices (HardwareVertexBufferSharedPtr vertexBuffer, size_t originalVertexCount, const Vector4 &lightPos, Real extrudeDist) |
Utility method for extruding vertices based on a light. | |
Static Public Attributes | |
size_t | mRenderedTris = 0 |
Protected Methods | |
int | _index (int x, int z) const |
Returns the index into the height array for the given coords. | |
float | _vertex (int x, int z, int n) |
Returns the vertex coord for the given coordinates. | |
int | _numNeighbors () const |
bool | _hasNeighborRenderLevel (int i) const |
void | _adjustRenderLevel (int i) |
void | _initLevelIndexes () |
bool | _checkSize (int n) |
void | _calculateMinLevelDist2 (Real C) |
Real | _calculateCFactor () |
Real | getExtrusionDistance (const Vector3 &objectPos, const Light *light) const |
Helper moethod for calculating extrusion distance. | |
virtual void | updateEdgeListLightFacing (EdgeData *edgeData, const Vector4 &lightPos) |
Tells the caster to perform the tasks necessary to update the edge data's light listing. | |
virtual void | generateShadowVolume (EdgeData *edgeData, HardwareIndexBufferSharedPtr indexBuffer, const Light *light, ShadowRenderableList &shadowRenderables, unsigned long flags) |
Generates the indexes required to render a shadow volume into the index buffer which is passed in, and updates shadow renderables to use it. | |
virtual void | extrudeBounds (AxisAlignedBox &box, const Vector4 &lightPos, Real extrudeDist) const |
Utility method for extruding a bounding box. | |
Protected Attributes | |
VertexData * | mTerrain |
int | mNumMipMaps |
int | mRenderLevel |
Real * | mMinLevelDistSqr |
TerrainRenderable * | mNeighbors [4] |
AxisAlignedBox | mBounds |
Vector3 | mCenter |
Vector3 | mScale |
int | mSize |
int | mWorldSize |
String | mName |
Material * | mMaterial |
bool | mRenderLevelChanged |
bool | mInit |
int | mNearPlane |
int | mMaxPixelError |
int | mVertResolution |
Real | mTopCoord |
Real | old_L |
Real | current_L |
bool | mColored |
bool | mLit |
int | mForcedRenderLevel |
Node * | mParentNode |
node to which this object is attached | |
bool | mParentIsTagPoint |
bool | mVisible |
Is this object visible? | |
UserDefinedObject * | mUserObject |
User defined object which is linked to this object. | |
RenderQueueGroupID | mRenderQueueID |
The render queue to use when rendering this object. | |
unsigned long | mQueryFlags |
Flags determining whether this object is included / excluded from scene queries. | |
AxisAlignedBox | mWorldAABB |
Cached world AABB of this object. | |
Sphere | mWorldBoundingSphere |
AxisAlignedBox | mWorldDarkCapBounds |
World space AABB of this object's dark cap. | |
bool | mCastShadows |
Does this object cast shadows? | |
Static Protected Attributes | |
String | mType = "TerrainMipMap" |
LevelArray | mLevelIndex |
bool | mLevelInit = false |
Definition at line 123 of file OgreTerrainRenderable.h.
|
Definition at line 125 of file OgreShadowCaster.h. |
|
Definition at line 126 of file OgreShadowCaster.h. Referenced by Ogre::Entity::getShadowVolumeRenderableIterator(). |
|
Definition at line 132 of file OgreTerrainRenderable.h. Referenced by _getNeighbor(), and _setNeighbor(). |
|
Definition at line 42 of file OgreTerrainRenderable.cpp. References _initLevelIndexes(), mColored, mForcedRenderLevel, mInit, mLit, mMinLevelDistSqr, mNeighbors, and mRenderLevelChanged. |
|
Definition at line 64 of file OgreTerrainRenderable.cpp. References deleteGeometry(). |
|
Definition at line 706 of file OgreTerrainRenderable.cpp. References _alignNeighbors(), and mRenderLevel. Referenced by _alignNeighbors(). |
|
Aligns mipmap levels between neighbors so that only 1 LOD level separates neighbors.
Definition at line 714 of file OgreTerrainRenderable.cpp. References _adjustRenderLevel(), mNeighbors, and mRenderLevel. Referenced by _adjustRenderLevel(). |
|
Definition at line 736 of file OgreTerrainRenderable.cpp. References mMaxPixelError, mNearPlane, mTopCoord, mVertResolution, and Ogre::Real. Referenced by init(). |
|
Definition at line 621 of file OgreTerrainRenderable.cpp. References _vertex(), mMinLevelDistSqr, mNumMipMaps, mSize, and Ogre::Real. Referenced by init(). |
|
Calculates static normals for lighting the terrain.
Definition at line 282 of file OgreTerrainRenderable.cpp. References _getNormalAt(), _vertex(), Ogre::VertexBufferBinding::getBuffer(), mSize, mTerrain, NORMAL_BINDING, Ogre::Real, Ogre::VertexData::vertexBufferBinding, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by init(). |
|
Definition at line 609 of file OgreTerrainRenderable.cpp. Referenced by init(). |
|
Generates terrain shadows and lighting using vertex colors.
Definition at line 903 of file OgreTerrainRenderable.cpp. References _getNormalAt(), _index(), _vertex(), Ogre::ColourValue::b, COLOUR_BINDING, Ogre::Vector3::dotProduct(), Ogre::ColourValue::g, Ogre::VertexBufferBinding::getBuffer(), intersectSegment(), mColored, mSize, mTerrain, Ogre::Vector3::normalise(), Ogre::ColourValue::r, Ogre::RGBA, Ogre::VertexData::vertexBufferBinding, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. |
|
Returns the neighbor TerrainRenderable.
Definition at line 232 of file OgreTerrainRenderable.h. References mNeighbors, and Neighbor. |
|
Calculates the normal at the given location.
Definition at line 251 of file OgreTerrainRenderable.cpp. References Ogre::Vector3::crossProduct(), getHeightAt(), Ogre::Vector3::normalise(), Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by _calculateNormals(), and _generateVertexLighting(). |
|
return the full transformation of the parent sceneNode or the attachingPoint node
Definition at line 94 of file OgreMovableObject.cpp. References Ogre::Node::_getFullTransform(), and Ogre::MovableObject::mParentNode. Referenced by Ogre::Entity::cacheBoneMatrices(), Ogre::TagPoint::getParentEntityTransform(), Ogre::MovableObject::getWorldBoundingBox(), Ogre::SubEntity::getWorldTransforms(), Ogre::Entity::EntityShadowRenderable::getWorldTransforms(), and Ogre::BillboardSet::getWorldTransforms(). |
|
Definition at line 307 of file OgreTerrainRenderable.h. References mNeighbors, and mRenderLevel. |
|
Returns the index into the height array for the given coords.
Definition at line 272 of file OgreTerrainRenderable.h. References mSize. Referenced by _generateVertexLighting(), and getRenderOperation(). |
|
Definition at line 680 of file OgreTerrainRenderable.cpp. References Ogre::IndexArray, mLevelIndex, and mLevelInit. Referenced by TerrainRenderable(). |
|
Internal method called to notify the object that it has been attached to a node.
Reimplemented in Ogre::Entity. Definition at line 56 of file OgreMovableObject.cpp. References Ogre::MovableObject::mParentIsTagPoint, and Ogre::MovableObject::mParentNode. Referenced by Ogre::SceneNode::attachObject(), Ogre::Entity::attachObjectImpl(), Ogre::SceneNode::detachAllObjects(), Ogre::SceneNode::detachObject(), and Ogre::SceneNode::~SceneNode(). |
|
Updates the level of detail to be used for rendering this TerrainRenderable based on the passed in Camera.
Implements Ogre::MovableObject. Definition at line 308 of file OgreTerrainRenderable.cpp. References current_L, mCenter, mForcedRenderLevel, mMinLevelDistSqr, mNumMipMaps, mRenderLevel, Ogre::Real, and Ogre::Vector3::squaredLength(). |
|
Definition at line 294 of file OgreTerrainRenderable.h. References mNeighbors. |
|
Sets the appropriate neighbor for this TerrainRenderable. Neighbors are necessary to know when to bridge between LODs. Definition at line 225 of file OgreTerrainRenderable.h. References mNeighbors, and Neighbor. |
|
Internal method by which the movable object must add Renderable subclass instances to the rendering queue.
Implements Ogre::MovableObject. Definition at line 347 of file OgreTerrainRenderable.cpp. References Ogre::RenderQueue::addRenderable(). |
|
Returns the vertex coord for the given coordinates.
Definition at line 278 of file OgreTerrainRenderable.h. References Ogre::VertexBufferBinding::getBuffer(), mSize, mTerrain, Ogre::Real, and Ogre::VertexData::vertexBufferBinding. Referenced by _calculateMinLevelDist2(), _calculateNormals(), _generateVertexLighting(), and getHeightAt(). |
|
As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object.
Definition at line 174 of file OgreMovableObject.h. |
|
Definition at line 70 of file OgreTerrainRenderable.cpp. References mMinLevelDistSqr, and mTerrain. Referenced by init(), and ~TerrainRenderable(). |
|
Utility method for extruding a bounding box.
Definition at line 274 of file OgreShadowCaster.cpp. References Ogre::AxisAlignedBox::getAllCorners(), Ogre::AxisAlignedBox::getMaximum(), Ogre::AxisAlignedBox::getMinimum(), Ogre::Vector3::makeCeil(), Ogre::Vector3::makeFloor(), Ogre::Vector3::normalise(), Ogre::Real, Ogre::AxisAlignedBox::setExtents(), Ogre::Vector4::w, Ogre::Vector4::x, Ogre::Vector3::x, Ogre::Vector4::y, Ogre::Vector3::y, Ogre::Vector4::z, and Ogre::Vector3::z. Referenced by Ogre::MovableObject::getDarkCapBounds(). |
|
Utility method for extruding vertices based on a light.
Definition at line 235 of file OgreShadowCaster.cpp. References Ogre::Vector3::normalise(), Ogre::Real, Ogre::Vector4::w, Ogre::Vector3::x, Ogre::Vector4::x, Ogre::Vector3::y, Ogre::Vector4::y, Ogre::Vector3::z, and Ogre::Vector4::z. Referenced by Ogre::Entity::getShadowVolumeRenderableIterator(). |
|
Generates the indexes required to render a shadow volume into the index buffer which is passed in, and updates shadow renderables to use it.
Definition at line 37 of file OgreShadowCaster.cpp. References Ogre::EdgeData::Edge::degenerate, Ogre::EdgeData::edgeGroups, Ogre::EdgeData::EdgeGroup::edges, Ogre::ShadowRenderable::getLightCapRenderable(), Ogre::ShadowRenderable::getRenderOperationForUpdate(), Ogre::Light::getType(), Ogre::IndexData::indexCount, Ogre::RenderOperation::indexData, Ogre::IndexData::indexStart, Ogre::EdgeData::Triangle::lightFacing, Ogre::SRF_EXTRUDE_TO_INFINITY, Ogre::SRF_INCLUDE_DARK_CAP, Ogre::SRF_INCLUDE_LIGHT_CAP, Ogre::EdgeData::triangles, Ogre::EdgeData::Edge::triIndex, Ogre::VertexData::vertexCount, Ogre::EdgeData::EdgeGroup::vertexData, Ogre::EdgeData::EdgeGroup::vertexSet, Ogre::EdgeData::Triangle::vertexSet, Ogre::EdgeData::Triangle::vertIndex, and Ogre::EdgeData::Edge::vertIndex. Referenced by Ogre::Entity::getShadowVolumeRenderableIterator(). |
|
Returns the bounding box of this TerrainRenderable.
Implements Ogre::MovableObject. Definition at line 160 of file OgreTerrainRenderable.h. References mBounds. Referenced by intersectSegment(). |
|
Overridden from MovableObject.
Implements Ogre::MovableObject. Definition at line 262 of file OgreTerrainRenderable.h. References Ogre::Real. |
|
Returns whether shadow casting is enabled for this object.
Implements Ogre::ShadowCaster. Definition at line 212 of file OgreMovableObject.h. Referenced by Ogre::OctreeNode::_addToRenderQueue(), Ogre::SubEntity::getCastsShadows(), Ogre::SceneManager::prepareShadowTextures(), Ogre::BspSceneManager::processVisibleLeaf(), Ogre::SceneManager::ShadowCasterSceneQueryListener::queryResult(), Ogre::SceneManager::renderAdditiveStencilShadowedQueueGroupObjects(), Ogre::SceneManager::renderModulativeStencilShadowedQueueGroupObjects(), and Ogre::SceneManager::renderModulativeTextureShadowedQueueGroupObjects(). |
|
Method which reports whether this renderable would normally cast a shadow.
Reimplemented in Ogre::SubEntity. Definition at line 150 of file OgreRenderable.h. Referenced by Ogre::SceneManager::validateRenderableForRendering(). |
|
Definition at line 142 of file OgreRenderable.h. References Ogre::PlaneList. Referenced by Ogre::SceneManager::renderSingleObject(). |
|
Overridden member from ShadowCaster.
Implements Ogre::ShadowCaster. Definition at line 135 of file OgreMovableObject.cpp. References Ogre::ShadowCaster::extrudeBounds(), Ogre::Light::getAs4DVector(), Ogre::MovableObject::getLightCapBounds(), Ogre::MovableObject::mWorldDarkCapBounds, and Ogre::Real. |
|
Define a default implementation of method from ShadowCaster which implements no shadows.
Implements Ogre::ShadowCaster. Reimplemented in Ogre::Entity. Definition at line 184 of file OgreMovableObject.h. |
|
Helper moethod for calculating extrusion distance.
Definition at line 320 of file OgreShadowCaster.cpp. References Ogre::Light::getAttenuationRange(), Ogre::Light::getDerivedPosition(), Ogre::Vector3::length(), and Ogre::Real. Referenced by Ogre::MovableObject::getPointExtrusionDistance(). |
|
Returns the terrain height at the given coordinates.
Definition at line 747 of file OgreTerrainRenderable.cpp. References _vertex(), EAST, mNeighbors, mSize, NORTH, SOUTH, WEST, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by _getNormalAt(), and intersectSegment(). |
|
Overridden member from ShadowCaster.
Implements Ogre::ShadowCaster. Definition at line 129 of file OgreMovableObject.cpp. References Ogre::MovableObject::getWorldBoundingBox(). Referenced by Ogre::MovableObject::getDarkCapBounds(). |
|
@copydoc Renderable::getLights
Implements Ogre::Renderable. Definition at line 986 of file OgreTerrainRenderable.cpp. References Ogre::Node::getLights(), Ogre::LightList, and Ogre::MovableObject::mParentNode. |
|
Retrieves a pointer to the material this renderable object uses.
Implements Ogre::Renderable. Definition at line 178 of file OgreTerrainRenderable.h. References mMaterial. |
|
Returns the type of the movable.
Implements Ogre::MovableObject. Definition at line 154 of file OgreTerrainRenderable.h. References mType. |
|
Returns the name of the TerrainRenderable.
Implements Ogre::MovableObject. Definition at line 148 of file OgreTerrainRenderable.h. References mName. |
|
Returns whether or not this Renderable wishes the hardware to normalise normals.
Reimplemented in Ogre::SubEntity. Definition at line 134 of file OgreRenderable.h. Referenced by Ogre::SceneManager::renderSingleObject(). |
|
Returns the maximum number of mipmaps used for LOD.
Definition at line 207 of file OgreTerrainRenderable.h. References mNumMipMaps. |
|
Returns the number of world transform matrices this renderable requires.
Reimplemented in Ogre::SubEntity, and Ogre::BorderRenderable. Definition at line 100 of file OgreRenderable.h. Referenced by Ogre::AutoParamDataSource::getWorldMatrix(), Ogre::AutoParamDataSource::getWorldMatrixArray(), Ogre::AutoParamDataSource::getWorldMatrixCount(), and Ogre::SceneManager::renderSingleObject(). |
|
Returns the node to which this object is attached.
Definition at line 62 of file OgreMovableObject.cpp. References Ogre::MovableObject::mParentNode. Referenced by Ogre::TagPoint::_updateFromParent(), Ogre::BspIntersectionSceneQuery::execute(), Ogre::TagPoint::getLights(), Ogre::SubEntity::getLights(), Ogre::SubEntity::getSquaredViewDepth(), Ogre::Entity::EntityShadowRenderable::getWorldOrientation(), Ogre::Entity::EntityShadowRenderable::getWorldPosition(), Ogre::TagPoint::needUpdate(), Ogre::BspSceneManager::processVisibleLeaf(), and Ogre::SceneManager::ShadowCasterSceneQueryListener::queryResult(). |
|
Get the distance to extrude for a point/spot light.
Implements Ogre::ShadowCaster. Definition at line 145 of file OgreMovableObject.cpp. References Ogre::Node::_getDerivedPosition(), Ogre::ShadowCaster::getExtrusionDistance(), Ogre::MovableObject::mParentNode, and Ogre::Real. |
|
Returns the query flags relevant for this object.
Definition at line 181 of file OgreMovableObject.h. Referenced by Ogre::BspIntersectionSceneQuery::execute(). |
|
Returns the preferred rasterisation mode of this renderable.
Reimplemented in Ogre::SubEntity. Definition at line 131 of file OgreRenderable.h. References Ogre::SceneDetailLevel, and Ogre::SDL_SOLID. Referenced by Ogre::SceneManager::renderSingleObject(). |
|
Returns the mipmap level that will be rendered for this frame.
Definition at line 195 of file OgreTerrainRenderable.h. References mRenderLevel. |
|
Constructs a RenderOperation to render the TerrainRenderable.
Implements Ogre::Renderable. Definition at line 352 of file OgreTerrainRenderable.cpp. References _index(), EAST, Ogre::IndexData::indexBuffer, Ogre::IndexData::indexCount, Ogre::RenderOperation::indexData, Ogre::IndexData::indexStart, Ogre::TerrainBufferCache::mCache, mInit, mLevelIndex, mNeighbors, mRenderedTris, mRenderLevel, mRenderLevelChanged, mSize, mTerrain, NORTH, Ogre::RenderOperation::operationType, SOUTH, TILE_EAST, TILE_NORTH, TILE_SOUTH, TILE_WEST, Ogre::RenderOperation::useIndexes, Ogre::RenderOperation::vertexData, and WEST. |
|
Gets the queue group for this entity, see setRenderQueueGroup for full details.
Definition at line 89 of file OgreMovableObject.cpp. References Ogre::MovableObject::mRenderQueueID, and Ogre::RenderQueueGroupID. |
|
Define a default implementation of method from ShadowCaster which implements no shadows.
Implements Ogre::ShadowCaster. Reimplemented in Ogre::Entity. Definition at line 186 of file OgreMovableObject.h. References Ogre::Real, and Ogre::ShadowTechnique. |
|
Returns the size of the TerrainRenderable.
Definition at line 189 of file OgreTerrainRenderable.h. References mSize. |
|
Overridden, see Renderable.
Implements Ogre::Renderable. Definition at line 978 of file OgreTerrainRenderable.cpp. References Ogre::Camera::getDerivedPosition(), mCenter, Ogre::Real, and Ogre::Vector3::squaredLength(). |
|
Retrieves a pointer to the Material Technique this renderable object uses.
Reimplemented in Ogre::SubEntity. Definition at line 65 of file OgreRenderable.h. References Ogre::Material::getBestTechnique(). Referenced by Ogre::RenderPriorityGroup::addRenderable(). |
|
Retrieves a pointer to a custom application object associated with this movable by an earlier call to setUserObject.
Definition at line 142 of file OgreMovableObject.h. |
|
Retrieves the axis-aligned bounding box for this object in world coordinates.
Implements Ogre::ShadowCaster. Definition at line 106 of file OgreMovableObject.cpp. References Ogre::MovableObject::_getParentNodeFullTransform(), Ogre::MovableObject::getBoundingBox(), Ogre::MovableObject::mWorldAABB, and Ogre::AxisAlignedBox::transform(). Referenced by Ogre::BspIntersectionSceneQuery::execute(), Ogre::MovableObject::getLightCapBounds(), Ogre::BspSceneManager::processVisibleLeaf(), and Ogre::SceneManager::ShadowCasterSceneQueryListener::queryResult(). |
|
Retrieves the worldspace bounding sphere for this object.
Definition at line 118 of file OgreMovableObject.cpp. References Ogre::Node::_getDerivedPosition(), Ogre::MovableObject::getBoundingRadius(), Ogre::MovableObject::mParentNode, Ogre::MovableObject::mWorldBoundingSphere, Ogre::Sphere::setCenter(), and Ogre::Sphere::setRadius(). Referenced by Ogre::SceneManager::ShadowCasterSceneQueryListener::queryResult(). |
|
Gets the worldspace orientation of this renderable; this is used in order to more efficiently update parameters to vertex & fragment programs, since inverting Quaterion and Vector in order to derive object-space positions / directions for cameras and lights is much more efficient than inverting a complete 4x4 matrix, and also eliminates problems introduced by scaling.
Implements Ogre::Renderable. Definition at line 600 of file OgreTerrainRenderable.cpp. References Ogre::Node::_getDerivedOrientation(), and Ogre::MovableObject::mParentNode. |
|
Gets the worldspace orientation of this renderable; this is used in order to more efficiently update parameters to vertex & fragment programs, since inverting Quaterion and Vector in order to derive object-space positions / directions for cameras and lights is much more efficient than inverting a complete 4x4 matrix, and also eliminates problems introduced by scaling.
Implements Ogre::Renderable. Definition at line 604 of file OgreTerrainRenderable.cpp. References Ogre::Node::_getDerivedPosition(), and Ogre::MovableObject::mParentNode. |
|
Gets the world transform matrix / matrices for this renderable object.
Implements Ogre::Renderable. Definition at line 595 of file OgreTerrainRenderable.cpp. References Ogre::Node::_getFullTransform(), and Ogre::MovableObject::mParentNode. |
|
|
Intersects the segment witht he terrain tile.
Definition at line 833 of file OgreTerrainRenderable.cpp. References EAST, Ogre::AxisAlignedBox::getAllCorners(), getBoundingBox(), getHeightAt(), mNeighbors, Ogre::Vector3::normalise(), NORTH, SOUTH, WEST, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by _generateVertexLighting(). |
|
Returns true if this object is attached to a SceneNode or TagPoint.
Definition at line 67 of file OgreMovableObject.cpp. References Ogre::MovableObject::mParentNode. Referenced by Ogre::Entity::attachObjectToBone(). |
|
Returns whether or not this object is supposed to be visible or not.
Definition at line 78 of file OgreMovableObject.cpp. References Ogre::MovableObject::mVisible. Referenced by Ogre::OctreeNode::_addToRenderQueue(), Ogre::SceneManager::_populateLightList(), Ogre::BspSceneManager::processVisibleLeaf(), and Ogre::SceneManager::ShadowCasterSceneQueryListener::queryResult(). |
|
As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object.
Definition at line 178 of file OgreMovableObject.h. |
|
Sets whether or not this object will cast shadows.
Definition at line 210 of file OgreMovableObject.h. Referenced by Ogre::SceneManager::setSkyBox(), Ogre::SceneManager::setSkyDome(), and Ogre::SceneManager::setSkyPlane(). |
|
Forces the LOD to the given level from this point on.
Definition at line 201 of file OgreTerrainRenderable.h. References mForcedRenderLevel. |
|
Definition at line 238 of file OgreTerrainRenderable.h. References mMaterial. |
|
Sets the query flags for this object.
Definition at line 170 of file OgreMovableObject.h. |
|
Sets the render queue group this entity will be rendered through.
Definition at line 84 of file OgreMovableObject.cpp. References Ogre::MovableObject::mRenderQueueID, and Ogre::RenderQueueGroupID. |
|
Call this to associate your own custom user object instance with this MovableObject.
Definition at line 138 of file OgreMovableObject.h. |
|
Tells this object whether to be visible or not, if it has a renderable component.
Reimplemented in Ogre::Light. Definition at line 73 of file OgreMovableObject.cpp. References Ogre::MovableObject::mVisible. |
|
Tells the caster to perform the tasks necessary to update the edge data's light listing. Can be overridden if the subclass needs to do additional things.
Definition at line 31 of file OgreShadowCaster.cpp. References Ogre::EdgeData::updateTriangleLightFacing(). Referenced by Ogre::Entity::getShadowVolumeRenderableIterator(). |
|
Returns whether or not to use an 'identity' projection.
Reimplemented in Ogre::GuiElement, Ogre::Rectangle2D, and Ogre::BorderRenderable. Definition at line 110 of file OgreRenderable.h. Referenced by Ogre::SceneManager::useRenderableViewProjMode(). |
|
Returns whether or not to use an 'identity' projection.
Reimplemented in Ogre::GuiElement, Ogre::Rectangle2D, and Ogre::BorderRenderable. Definition at line 120 of file OgreRenderable.h. Referenced by Ogre::SceneManager::useRenderableViewProjMode(). |
|
Definition at line 363 of file OgreTerrainRenderable.h. Referenced by _notifyCurrentCamera(). |
|
Definition at line 338 of file OgreTerrainRenderable.h. Referenced by getBoundingBox(), and init(). |
|
Does this object cast shadows?
Definition at line 65 of file OgreMovableObject.h. Referenced by Ogre::BillboardSet::BillboardSet(), and Ogre::MovableObject::MovableObject(). |
|
Definition at line 339 of file OgreTerrainRenderable.h. Referenced by _notifyCurrentCamera(), getSquaredViewDepth(), and init(). |
|
Definition at line 365 of file OgreTerrainRenderable.h. Referenced by _generateVertexLighting(), init(), and TerrainRenderable(). |
|
Definition at line 368 of file OgreTerrainRenderable.h. Referenced by _notifyCurrentCamera(), setForcedRenderLevel(), and TerrainRenderable(). |
|
Definition at line 351 of file OgreTerrainRenderable.h. Referenced by getRenderOperation(), init(), and TerrainRenderable(). |
|
Definition at line 39 of file OgreTerrainRenderable.cpp. Referenced by _initLevelIndexes(), and getRenderOperation(). |
|
Definition at line 40 of file OgreTerrainRenderable.cpp. Referenced by _initLevelIndexes(). |
|
Definition at line 366 of file OgreTerrainRenderable.h. Referenced by init(), and TerrainRenderable(). |
|
Definition at line 348 of file OgreTerrainRenderable.h. Referenced by getMaterial(), and setMaterial(). |
|
Definition at line 357 of file OgreTerrainRenderable.h. Referenced by _calculateCFactor(), and init(). |
|
Definition at line 334 of file OgreTerrainRenderable.h. Referenced by _calculateMinLevelDist2(), _notifyCurrentCamera(), deleteGeometry(), init(), and TerrainRenderable(). |
|
Definition at line 345 of file OgreTerrainRenderable.h. Referenced by getName(). |
|
Definition at line 356 of file OgreTerrainRenderable.h. Referenced by _calculateCFactor(), and init(). |
|
Definition at line 336 of file OgreTerrainRenderable.h. Referenced by _alignNeighbors(), _getNeighbor(), _hasNeighborRenderLevel(), _numNeighbors(), _setNeighbor(), getHeightAt(), getRenderOperation(), intersectSegment(), and TerrainRenderable(). |
|
Definition at line 331 of file OgreTerrainRenderable.h. Referenced by _calculateMinLevelDist2(), _notifyCurrentCamera(), getNumMipMaps(), and init(). |
|
Definition at line 49 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::_notifyAttached(), Ogre::MovableObject::MovableObject(), and Ogre::MovableObject::~MovableObject(). |
|
|
Flags determining whether this object is included / excluded from scene queries.
Definition at line 57 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::MovableObject(). |
|
Definition at line 35 of file OgreTerrainRenderable.cpp. Referenced by getRenderOperation(). |
|
Definition at line 332 of file OgreTerrainRenderable.h. Referenced by _adjustRenderLevel(), _alignNeighbors(), _hasNeighborRenderLevel(), _notifyCurrentCamera(), getRenderLevel(), getRenderOperation(), and init(). |
|
Definition at line 350 of file OgreTerrainRenderable.h. Referenced by getRenderOperation(), and TerrainRenderable(). |
|
The render queue to use when rendering this object.
Definition at line 55 of file OgreMovableObject.h. Referenced by Ogre::Entity::_updateRenderQueue(), Ogre::BillboardSet::_updateRenderQueue(), Ogre::MovableObject::getRenderQueueGroup(), Ogre::MovableObject::MovableObject(), and Ogre::MovableObject::setRenderQueueGroup(). |
|
Definition at line 340 of file OgreTerrainRenderable.h. Referenced by init(). |
|
Definition at line 342 of file OgreTerrainRenderable.h. Referenced by _calculateMinLevelDist2(), _calculateNormals(), _generateVertexLighting(), _index(), _vertex(), getHeightAt(), getRenderOperation(), getSize(), and init(). |
|
Definition at line 329 of file OgreTerrainRenderable.h. Referenced by _calculateNormals(), _generateVertexLighting(), _vertex(), deleteGeometry(), getRenderOperation(), and init(). |
|
Definition at line 359 of file OgreTerrainRenderable.h. Referenced by _calculateCFactor(), and init(). |
|
Definition at line 37 of file OgreTerrainRenderable.cpp. Referenced by getMovableType(). |
|
User defined object which is linked to this object.
Definition at line 53 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::MovableObject(). |
|
Definition at line 358 of file OgreTerrainRenderable.h. Referenced by _calculateCFactor(), and init(). |
|
Is this object visible?
Definition at line 51 of file OgreMovableObject.h. Referenced by Ogre::Camera::Camera(), Ogre::Frustum::Frustum(), Ogre::MovableObject::isVisible(), Ogre::MovableObject::MovableObject(), and Ogre::MovableObject::setVisible(). |
|
Cached world AABB of this object.
Definition at line 59 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::getWorldBoundingBox(), and Ogre::MovableObject::MovableObject(). |
|
Definition at line 61 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::getWorldBoundingSphere(). |
|
World space AABB of this object's dark cap.
Definition at line 63 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::getDarkCapBounds(). |
|
Definition at line 343 of file OgreTerrainRenderable.h. Referenced by init(). |
|
Definition at line 361 of file OgreTerrainRenderable.h. |
Copyright © 2002-2003 by The OGRE Team
Last modified Fri May 14 23:24:44 2004