Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# Ogre::Frustum Class Reference

A frustum represents a pyramid, capped at the near and far end which is used to represent either a visible area or a projection area. More...

`#include <OgreFrustum.h>`

Inheritance diagram for Ogre::Frustum:

[legend]
List of all members.

## Public Types

typedef std::vector< ShadowRenderable * > | ShadowRenderableList
typedef VectorIterator< ShadowRenderableList > | ShadowRenderableListIterator

## Public Methods

| Frustum ()
virtual | ~Frustum ()
virtual void | setFOVy (const Radian &fovy)
| Sets the Y-dimension Field Of View (FOV) of the frustum.
virtual const Radian & | getFOVy (void) const
| Retrieves the frustums Y-dimension Field Of View (FOV).
virtual void | setNearClipDistance (Real nearDist)
| Sets the position of the near clipping plane.
virtual Real | getNearClipDistance (void) const
| Sets the position of the near clipping plane.
virtual void | setFarClipDistance (Real farDist)
| Sets the distance to the far clipping plane.
virtual Real | getFarClipDistance (void) const
| Retrieves the distance from the frustum to the far clipping plane.
virtual void | setAspectRatio (Real ratio)
| Sets the aspect ratio for the frustum viewport.
virtual Real | getAspectRatio (void) const
| Retreives the current aspect ratio.
virtual const Matrix4 & | getProjectionMatrix (void) const
| Gets the projection matrix for this frustum.
virtual const Matrix4 & | getStandardProjectionMatrix (void) const
| Gets the 'standard' projection matrix for this frustum, ie the projection matrix which conforms to standard right-handed rules.
virtual const Matrix4 & | getViewMatrix (void) const
| Gets the view matrix for this frustum.
virtual const Plane & | getFrustumPlane (unsigned short plane) const
| Retrieves a specified plane of the frustum.
virtual bool | isVisible (const AxisAlignedBox &bound, FrustumPlane *culledBy=0) const
| Tests whether the given container is visible in the Frustum.
virtual bool | isVisible (const Sphere &bound, FrustumPlane *culledBy=0) const
| Tests whether the given container is visible in the Frustum.
virtual bool | isVisible (const Vector3 &vert, FrustumPlane *culledBy=0) const
| Tests whether the given vertex is visible in the Frustum.
const AxisAlignedBox & | getBoundingBox (void) const
| Overridden from MovableObject.
Real | getBoundingRadius (void) const
| Overridden from MovableObject.
void | _updateRenderQueue (RenderQueue *queue)
| Overridden from MovableObject.
const String & | getMovableType (void) const
| Overridden from MovableObject.
const String & | getName (void) const
| Overridden from MovableObject.
void | _notifyCurrentCamera (Camera *cam)
| Overridden from MovableObject.
Material * | getMaterial (void) const
| Overridden from Renderable.
void | getRenderOperation (RenderOperation &op)
| Overridden from Renderable.
void | getWorldTransforms (Matrix4 *xform) const
| Overridden from Renderable.
const Quaternion & | getWorldOrientation (void) const
| Overridden from Renderable.
const Vector3 & | getWorldPosition (void) const
| Overridden from Renderable.
Real | getSquaredViewDepth (const Camera *cam) const
| Overridden from Renderable.
const LightList & | getLights (void) const
| Overridden from Renderable.
virtual const Vector3 * | getWorldSpaceCorners (void) const
| Gets the world space corners of the frustum.
virtual void | setProjectionType (ProjectionType pt)
| Sets the type of projection to use (orthographic or perspective).
virtual ProjectionType | getProjectionType (void) const
| Retrieves info on the type of projection used (orthographic or perspective).
virtual void | enableReflection (const Plane &p)
| Modifies this frustum so it always renders from the reflection of itself through the plane specified.
virtual void | enableReflection (const MovablePlane *p)
| Modifies this frustum so it always renders from the reflection of itself through the plane specified.
virtual void | disableReflection (void)
| Disables reflection modification previously turned on with enableReflection.
virtual bool | isReflected (void) const
| Returns whether this frustum is being reflected.
virtual const Matrix4 & | getReflectionMatrix (void) const
| Returns the reflection matrix of the frustum if appropriate.
virtual const Plane & | getReflectionPlane (void) const
| Returns the reflection plane of the frustum if appropriate.
virtual bool | projectSphere (const Sphere &sphere, Real *left, Real *top, Real *right, Real *bottom) const
| Project a sphere onto the near plane and get the bounding rectangle.
virtual void | enableCustomNearClipPlane (const MovablePlane *plane)
| Links the frustum to a custom near clip plane, which can be used to clip geometry in a custom manner without using user clip planes.
virtual void | enableCustomNearClipPlane (const Plane &plane)
| Links the frustum to a custom near clip plane, which can be used to clip geometry in a custom manner without using user clip planes.
virtual void | disableCustomNearClipPlane (void)
| Disables any custom near clip plane.
virtual Node * | getParentNode (void) const
| Returns the node to which this object is attached.
virtual SceneNode * | getParentSceneNode (void) const
| Returns the scene 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.
ShadowRenderableListIterator | getLastShadowVolumeRenderableIterator (void)
| Return the last calculated shadow renderables.
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.
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.
void | setCustomParameter (size_t index, const Vector4 &value)
| Sets a custom parameter for this Renderable, which may be used to drive calculations for this specific Renderable, like GPU program parameters.
const Vector4 & | getCustomParameter (size_t index) const
| Gets the custom value associated with this Renderable at the given index.
virtual void | _updateCustomGpuParameter (const GpuProgramParameters::AutoConstantEntry &constantEntry, GpuProgramParameters *params) const
| Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows.

## 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

const Real | INFINITE_FAR_PLANE_ADJUST = 0.00001
| Small constant used to reduce far plane projection to avoid inaccuracies.

## Protected Types

typedef std::map< size_t, Vector4 > | CustomParameterMap

## Protected Methods

virtual void | updateFrustum (void) const
virtual void | updateView (void) const
virtual bool | isViewOutOfDate (void) const
virtual bool | isFrustumOutOfDate (void) const
virtual void | invalidateFrustum (void) const
| Signal to update frustum information.
virtual void | invalidateView (void) const
| Signal to update view information.
virtual const Vector3 & | getPositionForViewUpdate (void) const
| Get the derived position of this frustum.
virtual const Quaternion & | getOrientationForViewUpdate (void) const
| Get the derived orientation of this frustum.
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

ProjectionType | mProjType
| Orthographic or perspective?
Radian | mFOVy
| y-direction field-of-view (default 45)
Real | mFarDist
| Far clip distance - default 10000.
Real | mNearDist
| Near clip distance - default 100.
Real | mAspect
| x/y viewport ratio - default 1.3333
Plane | mFrustumPlanes [6]
| The 6 main clipping planes.
Quaternion | mLastParentOrientation
| Stored versions of parent orientation / position.
Vector3 | mLastParentPosition
Matrix4 | mProjMatrix
| Pre-calced projection matrix.
Matrix4 | mStandardProjMatrix
| Pre-calced standard projection matrix.
Matrix4 | mViewMatrix
| Pre-calced view matrix.
bool | mRecalcFrustum
| Something's changed in the frustrum shape?
bool | mRecalcView
| Something re the view pos has changed.
Real | mCoeffL [2]
| Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes.
Real | mCoeffR [2]
| Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes.
Real | mCoeffB [2]
| Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes.
Real | mCoeffT [2]
| Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes.
AxisAlignedBox | mBoundingBox
VertexData | mVertexData
Material * | mMaterial
Vector3 | mWorldSpaceCorners [8]
bool | mReflect
| Is this frustum to act as a reflection of itself?
Matrix4 | mReflectMatrix
| Derived reflection matrix.
Plane | mReflectPlane
| Fixed reflection plane.
const MovablePlane * | mLinkedReflectPlane
| Pointer to a reflection plane (automatically updated).
Plane | mLastLinkedReflectionPlane
| Record of the last world-space reflection plane info used.
bool | mObliqueDepthProjection
| Is this frustum using an oblique depth projection?
Plane | mObliqueProjPlane
| Fixed oblique projection plane.
const MovablePlane * | mLinkedObliqueProjPlane
| Pointer to oblique projection plane (automatically updated).
Plane | mLastLinkedObliqueProjPlane
| Record of the last world-space oblique depth projection plane info used.
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.
bool | mRenderQueueIDSet
| Flags whether the RenderQueue's default should be used.
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?
CustomParameterMap | mCustomParameters

## Static Protected Attributes

String | msMovableType = "Frustum"
| Shared class-level name for Movable type.
const PlaneList | msDummyPlaneList

## Detailed Description

A frustum represents a pyramid, capped at the near and far end which is used to represent either a visible area or a projection area.

Can be used for a number of applications.

Definition at line 61 of file OgreFrustum.h.

## Member Typedef Documentation

typedef std::map<size_t, Vector4> Ogre::Renderable::CustomParameterMap`[protected, inherited]`

| Definition at line 232 of file OgreRenderable.h.

typedef std::vector<ShadowRenderable*> Ogre::ShadowCaster::ShadowRenderableList`[inherited]`

| Definition at line 125 of file OgreShadowCaster.h.

typedef VectorIterator<ShadowRenderableList> Ogre::ShadowCaster::ShadowRenderableListIterator`[inherited]`

| Definition at line 126 of file OgreShadowCaster.h. Referenced by Ogre::Entity::getLastShadowVolumeRenderableIterator().

## Constructor & Destructor Documentation

Ogre::Frustum::Frustum | ( |  | ) |

Definition at line 47 of file OgreFrustum.cpp.

References Ogre::VertexDeclaration::addElement(), mLastLinkedObliqueProjPlane, mLastLinkedReflectionPlane, mMaterial, Ogre::MovableObject::mParentNode, mVertexData, Ogre::MovableObject::mVisible, Ogre::Plane::normal, PI, Ogre::PT_PERSPECTIVE, Ogre::Real, Ogre::VertexBufferBinding::setBinding(), updateView(), Ogre::VertexData::vertexBufferBinding, Ogre::VertexData::vertexCount, Ogre::VertexData::vertexDeclaration, Ogre::VertexData::vertexStart, Ogre::VES_POSITION, and Ogre::VET_FLOAT3.

Ogre::Frustum::~Frustum | ( |  | ) | `[virtual]`

| Definition at line 87 of file OgreFrustum.cpp.

## Member Function Documentation

Matrix4 Ogre::MovableObject::_getParentNodeFullTransform | ( | void |  | ) | const`[virtual, inherited]`

return the full transformation of the parent sceneNode or the attachingPoint node

Definition at line 121 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().

void Ogre::MovableObject::_notifyAttached | ( | Node * | parent,
|  | bool | isTagPoint = false
| ) | `[virtual, inherited]`

Internal method called to notify the object that it has been attached to a node.

Reimplemented in Ogre::Entity.

Definition at line 69 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(), Ogre::Entity::detachObjectImpl(), and Ogre::SceneNode::~SceneNode().

void Ogre::Frustum::_notifyCurrentCamera | ( | Camera * | cam | ) | `[virtual]`

| Overridden from MovableObject. Implements Ogre::MovableObject. Definition at line 668 of file OgreFrustum.cpp.

virtual void Ogre::Renderable::_updateCustomGpuParameter | ( | const GpuProgramParameters::AutoConstantEntry & | constantEntry,
|  | GpuProgramParameters * | params
| ) | const`[virtual, inherited]`

Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows.

Remarks:
  This method allows a Renderable to map in a custom GPU program parameter based on it's own data. This is represented by a GPU auto parameter of ACT_CUSTOM, and to allow there to be more than one of these per Renderable, the 'data' field on the auto parameter will identify which parameter is being updated. The implementation of this method must identify the parameter being updated, and call a 'setConstant' method on the passed in GpuProgramParameters object, using the details provided in the incoming auto constant setting to identify the index at which to set the parameter.

  You do not need to override this method if you're using the standard sets of data associated with the Renderable as provided by setCustomParameter and getCustomParameter. By default, the implementation will map from the value indexed by the 'constantEntry.data' parameter to a value previously set by setCustomParameter. But custom Renderables are free to override this if they want, in any case.

Parameters:

  constantEntry | The auto constant entry referring to the parameter being updated
  params | The parameters object which this method should call to set the updated parameters.

Reimplemented in Ogre::TerrainRenderable.

Definition at line 218 of file OgreRenderable.h.

References Ogre::GpuProgramParameters::AutoConstantEntry::data, Ogre::GpuProgramParameters::AutoConstantEntry::index, params, and Ogre::GpuProgramParameters::setConstant().

Referenced by Ogre::GpuProgramParameters::_updateAutoParamsNoLights().

void Ogre::Frustum::_updateRenderQueue | ( | RenderQueue * | queue | ) | `[virtual]`

| Overridden from MovableObject. Implements Ogre::MovableObject. Definition at line 593 of file OgreFrustum.cpp. References Ogre::RenderQueue::addRenderable().

virtual void Ogre::MovableObject::addQueryFlags | ( | unsigned long | flags | ) | `[virtual, inherited]`

| As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object. Definition at line 185 of file OgreMovableObject.h.

void Ogre::Frustum::disableCustomNearClipPlane | ( | void |  | ) | `[virtual]`

| Disables any custom near clip plane. Definition at line 796 of file OgreFrustum.cpp. References invalidateFrustum(), mLinkedObliqueProjPlane, and mObliqueDepthProjection.

void Ogre::Frustum::disableReflection | ( | void |  | ) | `[virtual]`

| Disables reflection modification previously turned on with enableReflection. Definition at line 733 of file OgreFrustum.cpp. References invalidateView(), mLastLinkedReflectionPlane, mReflect, and Ogre::Plane::normal.

void Ogre::Frustum::enableCustomNearClipPlane | ( | const Plane & | plane | ) | `[virtual]`

Links the frustum to a custom near clip plane, which can be used to clip geometry in a custom manner without using user clip planes.

Remarks:
  There are several applications for clipping a scene arbitrarily by a single plane; the most common is when rendering a reflection to a texture, and you only want to render geometry that is above the water plane (to do otherwise results in artefacts). Whilst it is possible to use user clip planes, they are not supported on all cards, and sometimes are not hardware accelerated when they are available. Instead, where a single clip plane is involved, this technique uses a 'fudging' of the near clip plane, which is available and fast on all hardware, to perform as the arbitrary clip plane. This does change the shape of the frustum, leading to some depth buffer loss of precision, but for many of the uses of this technique that is not an issue.

Note:
  This technique only works for perspective projection.

Parameters:

  plane | The plane to link to to perform the clipping. This plane must continue to exist while the camera is linked to it; do not destroy it before the frustum.

Definition at line 788 of file OgreFrustum.cpp.

References invalidateFrustum(), mLinkedObliqueProjPlane, mObliqueDepthProjection, and mObliqueProjPlane.

void Ogre::Frustum::enableCustomNearClipPlane | ( | const MovablePlane * | plane | ) | `[virtual]`

Links the frustum to a custom near clip plane, which can be used to clip geometry in a custom manner without using user clip planes.

Remarks:
  There are several applications for clipping a scene arbitrarily by a single plane; the most common is when rendering a reflection to a texture, and you only want to render geometry that is above the water plane (to do otherwise results in artefacts). Whilst it is possible to use user clip planes, they are not supported on all cards, and sometimes are not hardware accelerated when they are available. Instead, where a single clip plane is involved, this technique uses a 'fudging' of the near clip plane, which is available and fast on all hardware, to perform as the arbitrary clip plane. This does change the shape of the frustum, leading to some depth buffer loss of precision, but for many of the uses of this technique that is not an issue.

  This version of the method links to a plane, rather than requiring a by-value plane definition, and therefore you can make changes to the plane (e.g. by moving / rotating the node it is attached to) and they will automatically affect this object.

Note:
  This technique only works for perspective projection.

Parameters:

  plane | The plane to link to to perform the clipping. This plane must continue to exist while the camera is linked to it; do not destroy it before the frustum.

Definition at line 780 of file OgreFrustum.cpp.

References Ogre::MovablePlane::_getDerivedPlane(), invalidateFrustum(), mLinkedObliqueProjPlane, mObliqueDepthProjection, and mObliqueProjPlane.

void Ogre::Frustum::enableReflection | ( | const MovablePlane * | p | ) | `[virtual]`

Modifies this frustum so it always renders from the reflection of itself through the plane specified.

Note that this version of the method links to a plane so that changes to it are picked up automatically. It is important that this plane continues to exist whilst this object does; do not destroy the plane before the frustum.

Remarks:
  This is obviously useful for performing planar reflections.

Definition at line 723 of file OgreFrustum.cpp.

References Ogre::MovablePlane::_getDerivedPlane(), invalidateView(), mLastLinkedReflectionPlane, mLinkedReflectPlane, mReflect, mReflectMatrix, and mReflectPlane.

void Ogre::Frustum::enableReflection | ( | const Plane & | p | ) | `[virtual]`

Modifies this frustum so it always renders from the reflection of itself through the plane specified.

Remarks:
  This is obviously useful for performing planar reflections.

Definition at line 713 of file OgreFrustum.cpp.

References invalidateView(), mLinkedReflectPlane, mReflect, mReflectMatrix, and mReflectPlane.

void Ogre::ShadowCaster::extrudeBounds | ( | AxisAlignedBox & | box,
|  | const Vector4 & | lightPos,
|  | Real | extrudeDist
| ) | const`[protected, virtual, inherited]`

Utility method for extruding a bounding box.

Parameters:

  box | Original bounding box, will be updated in-place
  lightPos | 4D light position in object space, when w=0.0f this represents a directional light
  extrudeDist | The distance to extrude

Definition at line 275 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().

void Ogre::ShadowCaster::extrudeVertices | ( | HardwareVertexBufferSharedPtr | vertexBuffer,
|  | size_t | originalVertexCount,
|  | const Vector4 & | lightPos,
|  | Real | extrudeDist
| ) | `[static, inherited]`

Utility method for extruding vertices based on a light.

Remarks:
  Unfortunately, because D3D cannot handle homogenous (4D) position coordinates in the fixed-function pipeline (GL can, but we have to be cross-API), when we extrude in software we cannot extrude to infinity the way we do in the vertex program (by setting w to 0.0f). Therefore we extrude by a fixed distance, which may cause some problems with larger scenes. Luckily better hardware (ie vertex programs) can fix this.

Parameters:

  vertexBuffer | The vertex buffer containing ONLY xyz position values, which must be originalVertexCount * 2 * 3 floats long.
  originalVertexCount | The count of the original number of vertices, ie the number in the mesh, not counting the doubling which has already been done (by VertexData::prepareForShadowVolume) to provide the extruded area of the buffer.
  lightPos | 4D light position in object space, when w=0.0f this represents a directional light
  extrudeDist | The distance to extrude

Definition at line 236 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().

void Ogre::ShadowCaster::generateShadowVolume | ( | EdgeData * | edgeData,
|  | HardwareIndexBufferSharedPtr | indexBuffer,
|  | const Light * | light,
|  | ShadowRenderableList & | shadowRenderables,
|  | unsigned long | flags
| ) | `[protected, virtual, inherited]`

Generates the indexes required to render a shadow volume into the index buffer which is passed in, and updates shadow renderables to use it.

Parameters:

  edgeData | The edge information to use
  indexBuffer | The buffer into which to write data into; current contents are assumed to be discardable.
  light | The light, mainly for type info as silhouette calculations should already have been done in updateEdgeListLightFacing
  shadowRenderables | A list of shadow renderables which has already been constructed but will need populating with details of the index ranges to be used.
  flags | Additional controller flags, see ShadowRenderableFlags

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().

Real Ogre::Frustum::getAspectRatio | ( | void |  | ) | const`[virtual]`

| Retreives the current aspect ratio. Definition at line 575 of file OgreFrustum.cpp. References mAspect, and Ogre::Real.

const AxisAlignedBox & Ogre::Frustum::getBoundingBox | ( | void |  | ) | const`[virtual]`

| Overridden from MovableObject. Implements Ogre::MovableObject. Definition at line 588 of file OgreFrustum.cpp. References mBoundingBox.

Real Ogre::Frustum::getBoundingRadius | ( | void |  | ) | const`[virtual]`

| Overridden from MovableObject. Implements Ogre::MovableObject. Reimplemented in Ogre::Camera. Definition at line 604 of file OgreFrustum.cpp. References mFarDist, and Ogre::Real.

bool Ogre::MovableObject::getCastShadows | ( | void |  | ) | const`[virtual, inherited]`

Returns whether shadow casting is enabled for this object.

Implements Ogre::ShadowCaster.

Definition at line 231 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().

virtual bool Ogre::Renderable::getCastsShadows | ( | void |  | ) | const`[virtual, inherited]`

Method which reports whether this renderable would normally cast a shadow.

Remarks:
  Subclasses should override this if they could have been used to generate a shadow.

Reimplemented in Ogre::SubEntity.

Definition at line 153 of file OgreRenderable.h.

Referenced by Ogre::SceneManager::validateRenderableForRendering().

virtual const PlaneList& Ogre::Renderable::getClipPlanes | ( |  | ) | const`[virtual, inherited]`

| Definition at line 145 of file OgreRenderable.h. References Ogre::PlaneList. Referenced by Ogre::SceneManager::renderSingleObject().

const Vector4& Ogre::Renderable::getCustomParameter | ( | size_t | index | ) | const`[inherited]`

Gets the custom value associated with this Renderable at the given index.

Parameters:

  see | setCustomParaemter for full details.

Definition at line 179 of file OgreRenderable.h.

References Except.

const AxisAlignedBox & Ogre::MovableObject::getDarkCapBounds | ( | const Light & | light,
|  | Real | dirLightExtrusionDist
| ) | const`[virtual, inherited]`

| Overridden member from ShadowCaster. Implements Ogre::ShadowCaster. Definition at line 162 of file OgreMovableObject.cpp. References Ogre::ShadowCaster::extrudeBounds(), Ogre::Light::getAs4DVector(), Ogre::MovableObject::getLightCapBounds(), Ogre::MovableObject::mWorldDarkCapBounds, and Ogre::Real.

EdgeData* Ogre::MovableObject::getEdgeList | ( | void |  | ) | `[virtual, inherited]`

| Define a default implementation of method from ShadowCaster which implements no shadows. Implements Ogre::ShadowCaster. Reimplemented in Ogre::Entity. Definition at line 195 of file OgreMovableObject.h.

Real Ogre::ShadowCaster::getExtrusionDistance | ( | const Vector3 & | objectPos,
|  | const Light * | light
| ) | const`[protected, inherited]`

| Helper moethod for calculating extrusion distance. Definition at line 321 of file OgreShadowCaster.cpp. References Ogre::Light::getAttenuationRange(), Ogre::Light::getDerivedPosition(), Ogre::Vector3::length(), and Ogre::Real. Referenced by Ogre::MovableObject::getPointExtrusionDistance().

Real Ogre::Frustum::getFarClipDistance | ( | void |  | ) | const`[virtual]`

| Retrieves the distance from the frustum to the far clipping plane. Definition at line 114 of file OgreFrustum.cpp. References mFarDist, and Ogre::Real. Referenced by Ogre::Light::_getFrustumClipVolumes(), and Ogre::SceneManager::_renderScene().

const Radian & Ogre::Frustum::getFOVy | ( | void |  | ) | const`[virtual]`

| Retrieves the frustums Y-dimension Field Of View (FOV). Definition at line 100 of file OgreFrustum.cpp. References mFOVy.

const Plane & Ogre::Frustum::getFrustumPlane | ( | unsigned short | plane | ) | const`[virtual]`

Retrieves a specified plane of the frustum.

Remarks:
  Gets a reference to one of the planes which make up the frustum frustum, e.g. for clipping purposes.

Definition at line 161 of file OgreFrustum.cpp.

References mFrustumPlanes, and updateView().

Referenced by Ogre::Light::_getFrustumClipVolumes().

ShadowRenderableListIterator Ogre::MovableObject::getLastShadowVolumeRenderableIterator | ( | void |  | ) | `[virtual, inherited]`

| Return the last calculated shadow renderables. Implements Ogre::ShadowCaster. Reimplemented in Ogre::Entity. Definition at line 206 of file OgreMovableObject.h.

const AxisAlignedBox & Ogre::MovableObject::getLightCapBounds | ( | void |  | ) | const`[virtual, inherited]`

| Overridden member from ShadowCaster. Implements Ogre::ShadowCaster. Definition at line 156 of file OgreMovableObject.cpp. References Ogre::MovableObject::getWorldBoundingBox(). Referenced by Ogre::MovableObject::getDarkCapBounds().

const LightList & Ogre::Frustum::getLights | ( | void |  | ) | const`[virtual]`

| Overridden from Renderable. Implements Ogre::Renderable. Definition at line 655 of file OgreFrustum.cpp. References Ogre::LightList.

Material * Ogre::Frustum::getMaterial | ( | void |  | ) | const`[virtual]`

| Overridden from Renderable. Implements Ogre::Renderable. Definition at line 609 of file OgreFrustum.cpp. References mMaterial.

const String & Ogre::Frustum::getMovableType | ( | void |  | ) | const`[virtual]`

| Overridden from MovableObject. Implements Ogre::MovableObject. Reimplemented in Ogre::Camera. Definition at line 599 of file OgreFrustum.cpp. References msMovableType, and Ogre::String.

const String & Ogre::Frustum::getName | ( | void |  | ) | const`[virtual]`

| Overridden from MovableObject. Implements Ogre::MovableObject. Reimplemented in Ogre::Camera. Definition at line 662 of file OgreFrustum.cpp. References msMovableType, and Ogre::String.

Real Ogre::Frustum::getNearClipDistance | ( | void |  | ) | const`[virtual]`

| Sets the position of the near clipping plane. Definition at line 130 of file OgreFrustum.cpp. References mNearDist, and Ogre::Real. Referenced by Ogre::Light::_getNearClipVolume(), and Ogre::SceneManager::prepareShadowTextures().

virtual bool Ogre::Renderable::getNormaliseNormals | ( | void |  | ) | const`[virtual, inherited]`

| Returns whether or not this Renderable wishes the hardware to normalise normals. Reimplemented in Ogre::SubEntity. Definition at line 137 of file OgreRenderable.h. Referenced by Ogre::SceneManager::renderSingleObject().

virtual unsigned short Ogre::Renderable::getNumWorldTransforms | ( | void |  | ) | const`[virtual, inherited]`

Returns the number of world transform matrices this renderable requires.

Remarks:
  When a renderable uses vertex blending, it uses multiple world matrices instead of a single one. Each vertex sent to the pipeline can reference one or more matrices in this list with given weights. If a renderable does not use vertex blending this method returns 1, which is the default for simplicity.

Reimplemented in Ogre::SubEntity, and Ogre::BorderRenderable.

Definition at line 103 of file OgreRenderable.h.

Referenced by Ogre::AutoParamDataSource::getWorldMatrix(), Ogre::AutoParamDataSource::getWorldMatrixArray(), Ogre::AutoParamDataSource::getWorldMatrixCount(), and Ogre::SceneManager::renderSingleObject().

const Quaternion & Ogre::Frustum::getOrientationForViewUpdate | ( | void |  | ) | const`[protected, virtual]`

| Get the derived orientation of this frustum. Reimplemented in Ogre::Camera. Definition at line 708 of file OgreFrustum.cpp. References mLastParentOrientation. Referenced by updateView().

Node * Ogre::MovableObject::getParentNode | ( | void |  | ) | const`[virtual, inherited]`

Returns the node to which this object is attached.

Remarks:
  A MovableObject may be attached to either a SceneNode or to a TagPoint, the latter case if it's attached to a bone on an animated entity. Both are Node subclasses so this method will return either.

Definition at line 75 of file OgreMovableObject.cpp.

References Ogre::MovableObject::mParentNode.

Referenced by Ogre::TagPoint::_updateFromParent(), Ogre::Entity::detachObjectImpl(), Ogre::BspIntersectionSceneQuery::execute(), Ogre::SubEntity::getSquaredViewDepth(), Ogre::Entity::EntityShadowRenderable::getWorldOrientation(), Ogre::Entity::EntityShadowRenderable::getWorldPosition(), Ogre::TagPoint::needUpdate(), Ogre::BspSceneManager::processVisibleLeaf(), and Ogre::SceneManager::ShadowCasterSceneQueryListener::queryResult().

SceneNode * Ogre::MovableObject::getParentSceneNode | ( | void |  | ) | const`[virtual, inherited]`

Returns the scene node to which this object is attached.

Remarks:
  A MovableObject may be attached to either a SceneNode or to a TagPoint, the latter case if it's attached to a bone on an animated entity. This method will return the scene node of the parent entity if the latter is true.

Definition at line 80 of file OgreMovableObject.cpp.

References Ogre::TagPoint::getParentEntity().

Referenced by Ogre::TerrainRenderable::getLights(), Ogre::TagPoint::getLights(), Ogre::SubEntity::getLights(), Ogre::SimpleRenderable::getLights(), and Ogre::BillboardSet::getLights().

Real Ogre::MovableObject::getPointExtrusionDistance | ( | const Light * | l | ) | const`[virtual, inherited]`

| Get the distance to extrude for a point/spot light. Implements Ogre::ShadowCaster. Definition at line 172 of file OgreMovableObject.cpp. References Ogre::Node::_getDerivedPosition(), Ogre::ShadowCaster::getExtrusionDistance(), Ogre::MovableObject::mParentNode, and Ogre::Real.

const Vector3 & Ogre::Frustum::getPositionForViewUpdate | ( | void |  | ) | const`[protected, virtual]`

| Get the derived position of this frustum. Reimplemented in Ogre::Camera. Definition at line 703 of file OgreFrustum.cpp. References mLastParentPosition. Referenced by updateView().

const Matrix4 & Ogre::Frustum::getProjectionMatrix | ( | void |  | ) | const`[virtual]`

Gets the projection matrix for this frustum.

Mainly for use by OGRE internally.

Remarks:
  This method retrieves the rendering-API dependent version of the projection matrix. If you want a 'typical' projection matrix then use getStandardProjectionMatrix.

Definition at line 136 of file OgreFrustum.cpp.

References mProjMatrix, and updateFrustum().

Referenced by Ogre::GLRenderSystem::_setTextureCoordCalculation(), Ogre::D3D9RenderSystem::_setTextureMatrix(), Ogre::D3DRenderSystem::_setTextureMatrix(), Ogre::BspSceneManager::renderStaticGeometry(), and Ogre::SceneManager::useRenderableViewProjMode().

ProjectionType Ogre::Frustum::getProjectionType | ( | void |  | ) | const`[virtual]`

| Retrieves info on the type of projection used (orthographic or perspective). Definition at line 698 of file OgreFrustum.cpp. References mProjType, and Ogre::ProjectionType. Referenced by Ogre::D3D9RenderSystem::_setTextureMatrix(), and Ogre::D3DRenderSystem::_setTextureMatrix().

virtual unsigned long Ogre::MovableObject::getQueryFlags | ( | void |  | ) | const`[virtual, inherited]`

| Returns the query flags relevant for this object. Definition at line 192 of file OgreMovableObject.h. Referenced by Ogre::OctreePlaneBoundedVolumeListSceneQuery::execute(), Ogre::OctreeSphereSceneQuery::execute(), Ogre::OctreeRaySceneQuery::execute(), Ogre::OctreeAxisAlignedBoxSceneQuery::execute(), Ogre::OctreeIntersectionSceneQuery::execute(), and Ogre::BspIntersectionSceneQuery::execute().

virtual const Matrix4& Ogre::Frustum::getReflectionMatrix | ( | void |  | ) | const`[virtual]`

| Returns the reflection matrix of the frustum if appropriate. Definition at line 381 of file OgreFrustum.h.

virtual const Plane& Ogre::Frustum::getReflectionPlane | ( | void |  | ) | const`[virtual]`

| Returns the reflection plane of the frustum if appropriate. Definition at line 383 of file OgreFrustum.h.

virtual SceneDetailLevel Ogre::Renderable::getRenderDetail | ( |  | ) | const`[virtual, inherited]`

| Returns the preferred rasterisation mode of this renderable. Reimplemented in Ogre::SubEntity. Definition at line 134 of file OgreRenderable.h. References Ogre::SceneDetailLevel, and Ogre::SDL_SOLID. Referenced by Ogre::SceneManager::renderSingleObject().

void Ogre::Frustum::getRenderOperation | ( | RenderOperation & | op | ) | `[virtual]`

| Overridden from Renderable. Implements Ogre::Renderable. Definition at line 614 of file OgreFrustum.cpp. References mVertexData, Ogre::RenderOperation::operationType, updateFrustum(), updateView(), Ogre::RenderOperation::useIndexes, and Ogre::RenderOperation::vertexData.

RenderQueueGroupID Ogre::MovableObject::getRenderQueueGroup | ( | void |  | ) | const`[virtual, inherited]`

| Gets the queue group for this entity, see setRenderQueueGroup for full details. Definition at line 116 of file OgreMovableObject.cpp. References Ogre::MovableObject::mRenderQueueID, and Ogre::RenderQueueGroupID.

ShadowRenderableListIterator Ogre::MovableObject::getShadowVolumeRenderableIterator | ( | ShadowTechnique | shadowTechnique,
|  | const Light * | light,
|  | HardwareIndexBufferSharedPtr * | indexBuffer,
|  | bool | extrudeVertices,
|  | Real | extrusionDist,
|  | unsigned long | flags = 0
| ) | `[virtual, inherited]`

| Define a default implementation of method from ShadowCaster which implements no shadows. Implements Ogre::ShadowCaster. Reimplemented in Ogre::Entity. Definition at line 197 of file OgreMovableObject.h. References Ogre::Real, and Ogre::ShadowTechnique.

Real Ogre::Frustum::getSquaredViewDepth | ( | const Camera * | cam | ) | const`[virtual]`

| Overridden from Renderable. Implements Ogre::Renderable. Definition at line 645 of file OgreFrustum.cpp. References Ogre::Node::_getDerivedPosition(), Ogre::Camera::getDerivedPosition(), Ogre::MovableObject::mParentNode, and Ogre::Real.

const Matrix4 & Ogre::Frustum::getStandardProjectionMatrix | ( | void |  | ) | const`[virtual]`

Gets the 'standard' projection matrix for this frustum, ie the projection matrix which conforms to standard right-handed rules.

Remarks:
  This differs from the rendering-API dependent getProjectionMatrix in that it always returns a right-handed projection matrix result no matter what rendering API is being used - this is required for vertex and fragment programs for example. However, the resulting depth range may still vary between render systems since D3D uses [0,1] and GL uses [-1,1], and the range must be kept the same between programmable and fixed-function pipelines.

Definition at line 144 of file OgreFrustum.cpp.

References mStandardProjMatrix, and updateFrustum().

Referenced by Ogre::AutoParamDataSource::getProjectionMatrix(), Ogre::AutoParamDataSource::getTextureViewProjMatrix(), and projectSphere().

virtual Technique* Ogre::Renderable::getTechnique | ( | void |  | ) | const`[virtual, inherited]`

Retrieves a pointer to the Material Technique this renderable object uses.

Remarks:
  This is to allow Renderables to use a chosen Technique if they wish, otherwise they will use the best Technique available for the Material they are using.

Reimplemented in Ogre::SubEntity.

Definition at line 68 of file OgreRenderable.h.

Referenced by Ogre::RenderPriorityGroup::addRenderable().

virtual UserDefinedObject* Ogre::MovableObject::getUserObject | ( | void |  | ) | `[virtual, inherited]`

| Retrieves a pointer to a custom application object associated with this movable by an earlier call to setUserObject. Definition at line 153 of file OgreMovableObject.h.

const Matrix4 & Ogre::Frustum::getViewMatrix | ( | void |  | ) | const`[virtual]`

Gets the view matrix for this frustum.

Mainly for use by OGRE internally.

Definition at line 152 of file OgreFrustum.cpp.

References mViewMatrix, and updateView().

Referenced by Ogre::Light::_getFrustumClipVolumes(), Ogre::Light::_getNearClipVolume(), Ogre::GLRenderSystem::_setTextureCoordCalculation(), Ogre::D3D9RenderSystem::_setTextureMatrix(), Ogre::D3DRenderSystem::_setTextureMatrix(), Ogre::AutoParamDataSource::getTextureViewProjMatrix(), Ogre::AutoParamDataSource::getViewMatrix(), projectSphere(), Ogre::BspSceneManager::renderStaticGeometry(), and Ogre::SceneManager::useRenderableViewProjMode().

const AxisAlignedBox & Ogre::MovableObject::getWorldBoundingBox | ( | bool | derive = false | ) | const`[virtual, inherited]`

Retrieves the axis-aligned bounding box for this object in world coordinates.

Implements Ogre::ShadowCaster.

Definition at line 133 of file OgreMovableObject.cpp.

References Ogre::MovableObject::_getParentNodeFullTransform(), Ogre::MovableObject::getBoundingBox(), Ogre::MovableObject::mWorldAABB, and Ogre::AxisAlignedBox::transform().

Referenced by Ogre::OctreePlaneBoundedVolumeListSceneQuery::execute(), Ogre::OctreeSphereSceneQuery::execute(), Ogre::OctreeRaySceneQuery::execute(), Ogre::OctreeAxisAlignedBoxSceneQuery::execute(), Ogre::OctreeIntersectionSceneQuery::execute(), Ogre::BspIntersectionSceneQuery::execute(), Ogre::MovableObject::getLightCapBounds(), Ogre::BspSceneManager::processVisibleLeaf(), and Ogre::SceneManager::ShadowCasterSceneQueryListener::queryResult().

const Sphere & Ogre::MovableObject::getWorldBoundingSphere | ( | bool | derive = false | ) | const`[virtual, inherited]`

Retrieves the worldspace bounding sphere for this object.

Definition at line 145 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().

const Quaternion & Ogre::Frustum::getWorldOrientation | ( | void |  | ) | const`[virtual]`

| Overridden from Renderable. Implements Ogre::Renderable. Definition at line 629 of file OgreFrustum.cpp. References Ogre::Node::_getDerivedOrientation(), and Ogre::MovableObject::mParentNode.

const Vector3 & Ogre::Frustum::getWorldPosition | ( | void |  | ) | const`[virtual]`

| Overridden from Renderable. Implements Ogre::Renderable. Definition at line 637 of file OgreFrustum.cpp. References Ogre::Node::_getDerivedPosition(), and Ogre::MovableObject::mParentNode.

const Vector3 * Ogre::Frustum::getWorldSpaceCorners | ( | void |  | ) | const`[virtual]`

Gets the world space corners of the frustum.

Remarks:
  The corners are ordered as follows: top-right near, top-left near, bottom-left near, bottom-right near, top-right far, top-left far, bottom-left far, bottom-right far.

Definition at line 684 of file OgreFrustum.cpp.

References mWorldSpaceCorners, and updateView().

Referenced by Ogre::Light::_getFrustumClipVolumes(), Ogre::Light::_getNearClipVolume(), and Ogre::SceneManager::findShadowCastersForLight().

void Ogre::Frustum::getWorldTransforms | ( | Matrix4 * | xform | ) | const`[virtual]`

| Overridden from Renderable. Implements Ogre::Renderable. Definition at line 623 of file OgreFrustum.cpp. References Ogre::Node::getWorldTransforms(), and Ogre::MovableObject::mParentNode.

void Ogre::Frustum::invalidateFrustum | ( | void |  | ) | const`[protected, virtual]`

| Signal to update frustum information. Reimplemented in Ogre::Camera. Definition at line 674 of file OgreFrustum.cpp. References mRecalcFrustum. Referenced by disableCustomNearClipPlane(), enableCustomNearClipPlane(), setAspectRatio(), setFarClipDistance(), setFOVy(), setNearClipDistance(), and setProjectionType().

void Ogre::Frustum::invalidateView | ( | void |  | ) | const`[protected, virtual]`

| Signal to update view information. Reimplemented in Ogre::Camera. Definition at line 679 of file OgreFrustum.cpp. References mRecalcView. Referenced by disableReflection(), and enableReflection().

bool Ogre::MovableObject::isAttached | ( | void |  | ) | const`[virtual, inherited]`

| Returns true if this object is attached to a SceneNode or TagPoint. Definition at line 93 of file OgreMovableObject.cpp. References Ogre::MovableObject::mParentNode. Referenced by Ogre::Entity::attachObjectToBone().

bool Ogre::Frustum::isFrustumOutOfDate | ( | void |  | ) | const`[protected, virtual]`

| Definition at line 430 of file OgreFrustum.cpp. References Ogre::MovablePlane::_getDerivedPlane(), mLastLinkedObliqueProjPlane, mLinkedObliqueProjPlane, mObliqueProjPlane, and mRecalcFrustum. Referenced by updateFrustum().

virtual bool Ogre::Frustum::isReflected | ( | void |  | ) | const`[virtual]`

| Returns whether this frustum is being reflected. Definition at line 379 of file OgreFrustum.h. Referenced by Ogre::SceneManager::_renderScene().

bool Ogre::Frustum::isViewOutOfDate | ( | void |  | ) | const`[protected, virtual]`

Reimplemented in Ogre::Camera.

Definition at line 397 of file OgreFrustum.cpp.

References Ogre::Node::_getDerivedOrientation(), Ogre::MovablePlane::_getDerivedPlane(), Ogre::Node::_getDerivedPosition(), mLastLinkedReflectionPlane, mLastParentOrientation, mLastParentPosition, mLinkedReflectPlane, Ogre::MovableObject::mParentNode, mRecalcView, mReflect, mReflectMatrix, and mReflectPlane.

Referenced by updateView().

bool Ogre::MovableObject::isVisible | ( | void |  | ) | const`[virtual, inherited]`

| Returns whether or not this object is supposed to be visible or not. Definition at line 104 of file OgreMovableObject.cpp. References Ogre::MovableObject::mVisible. Referenced by Ogre::OctreeNode::_addToRenderQueue(), Ogre::SceneManager::_populateLightList(), Ogre::BspSceneManager::processVisibleLeaf(), and Ogre::SceneManager::ShadowCasterSceneQueryListener::queryResult().

bool Ogre::Frustum::isVisible | ( | const Vector3 & | vert,
|  | FrustumPlane * | culledBy = 0
| ) | const`[virtual]`

Tests whether the given vertex is visible in the Frustum.

Parameters:

  vert | Vertex to be checked
  culledBy | Optional pointer to an int which will be filled by the plane number which culled the box if the result was false;

Returns:
  If the box was visible, true is returned.

  Otherwise, false is returned.

Definition at line 212 of file OgreFrustum.cpp.

References Ogre::FRUSTUM_PLANE_FAR, Ogre::FrustumPlane, Ogre::Plane::getSide(), mFarDist, mFrustumPlanes, and updateView().

bool Ogre::Frustum::isVisible | ( | const Sphere & | bound,
|  | FrustumPlane * | culledBy = 0
| ) | const`[virtual]`

Tests whether the given container is visible in the Frustum.

Parameters:

  bound | Bounding sphere to be checked
  culledBy | Optional pointer to an int which will be filled by the plane number which culled the box if the result was false;

Returns:
  If the sphere was visible, true is returned.

  Otherwise, false is returned.

Definition at line 239 of file OgreFrustum.cpp.

References Ogre::FRUSTUM_PLANE_FAR, Ogre::FrustumPlane, Ogre::Sphere::getCenter(), Ogre::Plane::getDistance(), Ogre::Sphere::getRadius(), mFarDist, mFrustumPlanes, and updateView().

bool Ogre::Frustum::isVisible | ( | const AxisAlignedBox & | bound,
|  | FrustumPlane * | culledBy = 0
| ) | const`[virtual]`

Tests whether the given container is visible in the Frustum.

Parameters:

  bound | Bounding box to be checked
  culledBy | Optional pointer to an int which will be filled by the plane number which culled the box if the result was false;

Returns:
  If the box was visible, true is returned.

  Otherwise, false is returned.

Definition at line 171 of file OgreFrustum.cpp.

References Ogre::FRUSTUM_PLANE_FAR, Ogre::FrustumPlane, Ogre::AxisAlignedBox::getAllCorners(), Ogre::Plane::getSide(), Ogre::AxisAlignedBox::isNull(), mFarDist, mFrustumPlanes, and updateView().

Referenced by Ogre::SceneNode::_findVisibleObjects(), Ogre::BillboardSet::billboardVisible(), Ogre::SceneManager::findLightsAffectingFrustum(), Ogre::SceneManager::findShadowCastersForLight(), Ogre::BspSceneManager::processVisibleLeaf(), Ogre::SceneManager::ShadowCasterSceneQueryListener::queryResult(), Ogre::SceneManager::renderShadowVolumesToStencil(), and Ogre::BspSceneManager::walkTree().

bool Ogre::Frustum::projectSphere | ( | const Sphere & | sphere,
|  | Real * | left,
|  | Real * | top,
|  | Real * | right,
|  | Real * | bottom
| ) | const`[virtual]`

Project a sphere onto the near plane and get the bounding rectangle.

Parameters:

  sphere | The world-space sphere to project
  radius | Radius of the sphere
  left, top, right, bottom | Pointers to destination values, these will be completed with the normalised device coordinates (in the range {-1,1})

Returns:
  true if the sphere was projected to a subset of the near plane, false if the entire near plane was contained

Definition at line 740 of file OgreFrustum.cpp.

References Ogre::Sphere::getCenter(), Ogre::Sphere::getRadius(), getStandardProjectionMatrix(), getViewMatrix(), Ogre::Real, Ogre::Vector3::squaredLength(), Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

Referenced by Ogre::SceneManager::renderShadowVolumesToStencil().

virtual void Ogre::MovableObject::removeQueryFlags | ( | unsigned long | flags | ) | `[virtual, inherited]`

| As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object. Definition at line 189 of file OgreMovableObject.h.

void Ogre::Frustum::setAspectRatio | ( | Real | ratio | ) | `[virtual]`

Sets the aspect ratio for the frustum viewport.

Remarks:
  The ratio between the x and y dimensions of the rectangular area visible through the frustum is known as aspect ratio: aspect = width / height .

  The default for most fullscreen windows is 1.3333 - this is also assumed by Ogre unless you use this method to state otherwise.

Definition at line 581 of file OgreFrustum.cpp.

References invalidateFrustum(), mAspect, and Ogre::Real.

Referenced by Ogre::Viewport::_updateDimensions(), and Ogre::SceneManager::createShadowTextures().

void Ogre::MovableObject::setCastShadows | ( | bool | enabled | ) | `[inherited]`

Sets whether or not this object will cast shadows.

Remarks:
  This setting simply allows you to turn on/off shadows for a given object. An object will not cast shadows unless the scene supports it in any case (see SceneManager::setShadowTechnique), and also the material which is in use must also have shadow casting enabled. By default all entities cast shadows. If, however, for some reason you wish to disable this for a single object then you can do so using this method.

Note:
  This method normally refers to objects which block the light, but since Light is also a subclass of MovableObject, in that context it means whether the light causes shadows itself.

Definition at line 229 of file OgreMovableObject.h.

Referenced by Ogre::Entity::Entity(), Ogre::SceneManager::setSkyBox(), Ogre::SceneManager::setSkyDome(), and Ogre::SceneManager::setSkyPlane().

void Ogre::Renderable::setCustomParameter | ( | size_t | index,
|  | const Vector4 & | value
| ) | `[inherited]`

Sets a custom parameter for this Renderable, which may be used to drive calculations for this specific Renderable, like GPU program parameters.

Remarks:
  Calling this method simply associates a numeric index with a 4-dimensional value for this specific Renderable. This is most useful if the material which this Renderable uses a vertex or fragment program, and has an ACT_CUSTOM parameter entry. This parameter entry can refer to the index you specify as part of this call, thereby mapping a custom parameter for this renderable to a program parameter.

Parameters:

  index | The index with which to associate the value. Note that this does not have to start at 0, and can include gaps. It also has no direct correlation with a GPU program parameter index - the mapping between the two is performed by the ACT_CUSTOM entry, if that is used.
  value | The value to associate.

Definition at line 170 of file OgreRenderable.h.

void Ogre::Frustum::setFarClipDistance | ( | Real | farDist | ) | `[virtual]`

Sets the distance to the far clipping plane.

Remarks:
  The view frustrum is a pyramid created from the frustum position and the edges of the viewport. This method sets the distance for the far end of that pyramid. Different applications need different values: e.g. a flight sim needs a much further far clipping plane than a first-person shooter. An important point here is that the larger the ratio between near and far clipping planes, the lower the accuracy of the Z-buffer used to depth-cue pixels. This is because the Z-range is limited to the size of the Z buffer (16 or 32-bit) and the max values must be spread over the gap between near and far clip planes. As it happens, you can affect the accuracy far more by altering the near distance rather than the far distance, but keep this in mind.

Parameters:

  far | The distance to the far clipping plane from the frustum in world coordinates.If you specify 0, this means an infinite view distance which is useful especially when projecting shadows; but be careful not to use a near distance too close.

Definition at line 107 of file OgreFrustum.cpp.

References invalidateFrustum(), mFarDist, and Ogre::Real.

Referenced by Ogre::SceneManager::_renderScene().

void Ogre::Frustum::setFOVy | ( | const Radian & | fovy | ) | `[virtual]`

Sets the Y-dimension Field Of View (FOV) of the frustum.

Remarks:
  Field Of View (FOV) is the angle made between the frustum's position, and the edges of the 'screen' onto which the scene is projected. High values (90+ degrees) result in a wide-angle, fish-eye kind of view, low values (30- degrees) in a stretched, telescopic kind of view. Typical values are between 45 and 60 degrees.

  This value represents the VERTICAL field-of-view. The horizontal field of view is calculated from this depending on the dimensions of the viewport (they will only be the same if the viewport is square).

Note:
  Setting the FOV overrides the value supplied for frustum::setNearClipPlane.

Definition at line 93 of file OgreFrustum.cpp.

References invalidateFrustum(), and mFOVy.

Referenced by Ogre::SceneManager::prepareShadowTextures().

void Ogre::Frustum::setNearClipDistance | ( | Real | nearDist | ) | `[virtual]`

Sets the position of the near clipping plane.

Remarks:
  The position of the near clipping plane is the distance from the frustums position to the screen on which the world is projected. The near plane distance, combined with the field-of-view and the aspect ratio, determines the size of the viewport through which the world is viewed (in world co-ordinates). Note that this world viewport is different to a screen viewport, which has it's dimensions expressed in pixels. The frustums viewport should have the same aspect ratio as the screen viewport it renders into to avoid distortion.

Parameters:

  near | The distance to the near clipping plane from the frustum in world coordinates.

Definition at line 120 of file OgreFrustum.cpp.

References Except, invalidateFrustum(), mNearDist, and Ogre::Real.

Referenced by Ogre::SceneManager::prepareShadowTextures().

void Ogre::Frustum::setProjectionType | ( | ProjectionType | pt | ) | `[virtual]`

| Sets the type of projection to use (orthographic or perspective). Default is perspective. Definition at line 691 of file OgreFrustum.cpp. References invalidateFrustum(), mProjType, and Ogre::ProjectionType. Referenced by Ogre::SceneManager::prepareShadowTextures().

virtual void Ogre::MovableObject::setQueryFlags | ( | unsigned long | flags | ) | `[virtual, inherited]`

Sets the query flags for this object.

Remarks:
  When performing a scene query, this object will be included or excluded according to flags on the object and flags on the query. This is a bitwise value, so only when a bit on these flags is set, will it be included in a query asking for that flag. The meaning of the bits is application-specific.

Definition at line 181 of file OgreMovableObject.h.

void Ogre::MovableObject::setRenderQueueGroup | ( | RenderQueueGroupID | queueID | ) | `[virtual, inherited]`

Sets the render queue group this entity will be rendered through.

Remarks:
  Render queues are grouped to allow you to more tightly control the ordering of rendered objects. If you do not call this method, all Entity objects default to the default queue (RenderQueue::getDefaultQueueGroup), which is fine for most objects. You may want to alter this if you want this entity to always appear in front of other objects, e.g. for a 3D menu system or such.

  See RenderQueue for more details.

Parameters:

  queueID | Enumerated value of the queue group to use.

Reimplemented in Ogre::Entity.

Definition at line 110 of file OgreMovableObject.cpp.

References Ogre::MovableObject::mRenderQueueID, Ogre::MovableObject::mRenderQueueIDSet, and Ogre::RenderQueueGroupID.

virtual void Ogre::MovableObject::setUserObject | ( | UserDefinedObject * | obj | ) | `[virtual, inherited]`

Call this to associate your own custom user object instance with this MovableObject.

Remarks:
  By simply making your game / application object a subclass of UserDefinedObject, you can establish a link between an OGRE instance of MovableObject and your own application classes. Call this method to establish the link.

Definition at line 149 of file OgreMovableObject.h.

void Ogre::MovableObject::setVisible | ( | bool | visible | ) | `[virtual, inherited]`

| Tells this object whether to be visible or not, if it has a renderable component. Reimplemented in Ogre::Light. Definition at line 99 of file OgreMovableObject.cpp. References Ogre::MovableObject::mVisible.

void Ogre::ShadowCaster::updateEdgeListLightFacing | ( | EdgeData * | edgeData,
|  | const Vector4 & | lightPos
| ) | `[protected, virtual, inherited]`

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.

Parameters:

  edgeData | The edge information to update
  lightPos | 4D vector representing the light, a directional light has w=0.0

Definition at line 31 of file OgreShadowCaster.cpp.

References Ogre::EdgeData::updateTriangleLightFacing().

Referenced by Ogre::Entity::getShadowVolumeRenderableIterator().

void Ogre::Frustum::updateFrustum | ( | void |  | ) | const`[protected, virtual]`

Reimplemented in Ogre::Camera.

Definition at line 267 of file OgreFrustum.cpp.

References Ogre::RenderSystem::_applyObliqueDepthProjection(), Ogre::RenderSystem::_makeOrthoMatrix(), Ogre::RenderSystem::_makeProjectionMatrix(), Ogre::VertexBufferBinding::getBuffer(), isFrustumOutOfDate(), mAspect, mBoundingBox, mFarDist, mFOVy, mNearDist, mObliqueProjPlane, mProjMatrix, mProjType, mRecalcFrustum, mStandardProjMatrix, mVertexData, mViewMatrix, Ogre::PT_ORTHOGRAPHIC, Ogre::PT_PERSPECTIVE, Ogre::Real, Ogre::AxisAlignedBox::setExtents(), and Ogre::VertexData::vertexBufferBinding.

Referenced by getProjectionMatrix(), getRenderOperation(), getStandardProjectionMatrix(), and updateView().

void Ogre::Frustum::updateView | ( | void |  | ) | const`[protected, virtual]`

Reimplemented in Ogre::Camera.

Definition at line 451 of file OgreFrustum.cpp.

References Ogre::Plane::d, Ogre::Vector3::dotProduct(), Ogre::FRUSTUM_PLANE_BOTTOM, Ogre::FRUSTUM_PLANE_FAR, Ogre::FRUSTUM_PLANE_LEFT, Ogre::FRUSTUM_PLANE_NEAR, Ogre::FRUSTUM_PLANE_RIGHT, Ogre::FRUSTUM_PLANE_TOP, Ogre::Matrix3::GetColumn(), getOrientationForViewUpdate(), getPositionForViewUpdate(), Ogre::Matrix4::inverse(), isViewOutOfDate(), mAspect, mFarDist, mFOVy, mFrustumPlanes, mNearDist, mProjType, mRecalcView, mReflectMatrix, mStandardProjMatrix, mViewMatrix, mWorldSpaceCorners, Ogre::Plane::normal, Ogre::Vector3::normalise(), Ogre::PT_ORTHOGRAPHIC, Ogre::Real, Ogre::Quaternion::ToRotationMatrix(), Ogre::Matrix3::Transpose(), updateFrustum(), Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

Referenced by Frustum(), getFrustumPlane(), getRenderOperation(), getViewMatrix(), getWorldSpaceCorners(), and isVisible().

virtual bool Ogre::Renderable::useIdentityProjection | ( | void |  | ) | const`[virtual, inherited]`

Returns whether or not to use an 'identity' projection.

Remarks:
  Usually Renderable objects will use a projection matrix as determined by the active camera. However, if they want they can cancel this out and use an identity projection, which effectively projects in 2D using a {-1, 1} view space. Useful for overlay rendering. Normal renderables need not override this.

Reimplemented in Ogre::GuiElement, Ogre::Rectangle2D, and Ogre::BorderRenderable.

Definition at line 113 of file OgreRenderable.h.

Referenced by Ogre::SceneManager::useRenderableViewProjMode().

virtual bool Ogre::Renderable::useIdentityView | ( | void |  | ) | const`[virtual, inherited]`

Returns whether or not to use an 'identity' projection.

Remarks:
  Usually Renderable objects will use a view matrix as determined by the active camera. However, if they want they can cancel this out and use an identity matrix, which means all geometry is assumed to be relative to camera space already. Useful for overlay rendering. Normal renderables need not override this.

Reimplemented in Ogre::GuiElement, Ogre::Rectangle2D, and Ogre::BorderRenderable.

Definition at line 123 of file OgreRenderable.h.

Referenced by Ogre::SceneManager::useRenderableViewProjMode().

## Member Data Documentation

const Real Ogre::Frustum::INFINITE_FAR_PLANE_ADJUST = 0.00001`[static]`

| Small constant used to reduce far plane projection to avoid inaccuracies. Definition at line 45 of file OgreFrustum.cpp.

Real Ogre::Frustum::mAspect`[protected]`

| x/y viewport ratio - default 1.3333 Definition at line 74 of file OgreFrustum.h. Referenced by Ogre::Camera::Camera(), getAspectRatio(), Ogre::Camera::getCameraToViewportRay(), Ogre::operator<<(), setAspectRatio(), Ogre::Camera::setWindowImpl(), updateFrustum(), and updateView().

AxisAlignedBox Ogre::Frustum::mBoundingBox`[protected]`

| Definition at line 116 of file OgreFrustum.h. Referenced by getBoundingBox(), and updateFrustum().

bool Ogre::MovableObject::mCastShadows`[protected, inherited]`

| Does this object cast shadows? Definition at line 67 of file OgreMovableObject.h. Referenced by Ogre::BillboardSet::BillboardSet(), and Ogre::MovableObject::MovableObject().

Real Ogre::Frustum::mCoeffB[2]`[protected]`

| Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes. Definition at line 98 of file OgreFrustum.h.

Real Ogre::Frustum::mCoeffL[2]`[protected]`

| Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes. Definition at line 98 of file OgreFrustum.h.

Real Ogre::Frustum::mCoeffR[2]`[protected]`

| Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes. Definition at line 98 of file OgreFrustum.h.

Real Ogre::Frustum::mCoeffT[2]`[protected]`

| Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes. Definition at line 98 of file OgreFrustum.h.

CustomParameterMap Ogre::Renderable::mCustomParameters`[protected, inherited]`

| Definition at line 233 of file OgreRenderable.h.

Real Ogre::Frustum::mFarDist`[protected]`

| Far clip distance - default 10000. Definition at line 70 of file OgreFrustum.h. Referenced by Ogre::Camera::Camera(), getBoundingRadius(), getFarClipDistance(), Ogre::OctreeCamera::getVisibility(), isVisible(), Ogre::operator<<(), setFarClipDistance(), updateFrustum(), and updateView().

Radian Ogre::Frustum::mFOVy`[protected]`

| y-direction field-of-view (default 45) Definition at line 68 of file OgreFrustum.h. Referenced by Ogre::Camera::Camera(), Ogre::Camera::getCameraToViewportRay(), getFOVy(), Ogre::operator<<(), setFOVy(), Ogre::Camera::setWindowImpl(), updateFrustum(), and updateView().

Plane Ogre::Frustum::mFrustumPlanes[6]`[protected]`

| The 6 main clipping planes. Definition at line 77 of file OgreFrustum.h. Referenced by getFrustumPlane(), Ogre::OctreeCamera::getVisibility(), isVisible(), Ogre::operator<<(), and updateView().

Plane Ogre::Frustum::mLastLinkedObliqueProjPlane`[protected]`

| Record of the last world-space oblique depth projection plane info used. Definition at line 140 of file OgreFrustum.h. Referenced by Frustum(), and isFrustumOutOfDate().

Plane Ogre::Frustum::mLastLinkedReflectionPlane`[protected]`

| Record of the last world-space reflection plane info used. Definition at line 131 of file OgreFrustum.h. Referenced by disableReflection(), enableReflection(), Frustum(), isViewOutOfDate(), and Ogre::Camera::isViewOutOfDate().

Quaternion Ogre::Frustum::mLastParentOrientation`[protected]`

| Stored versions of parent orientation / position. Definition at line 80 of file OgreFrustum.h. Referenced by getOrientationForViewUpdate(), isViewOutOfDate(), and Ogre::Camera::isViewOutOfDate().

Vector3 Ogre::Frustum::mLastParentPosition`[protected]`

| Definition at line 81 of file OgreFrustum.h. Referenced by getPositionForViewUpdate(), isViewOutOfDate(), and Ogre::Camera::isViewOutOfDate().

const MovablePlane* Ogre::Frustum::mLinkedObliqueProjPlane`[protected]`

| Pointer to oblique projection plane (automatically updated). Definition at line 138 of file OgreFrustum.h. Referenced by disableCustomNearClipPlane(), enableCustomNearClipPlane(), and isFrustumOutOfDate().

const MovablePlane* Ogre::Frustum::mLinkedReflectPlane`[protected]`

| Pointer to a reflection plane (automatically updated). Definition at line 129 of file OgreFrustum.h. Referenced by enableReflection(), isViewOutOfDate(), and Ogre::Camera::isViewOutOfDate().

Material* Ogre::Frustum::mMaterial`[protected]`

| Definition at line 119 of file OgreFrustum.h. Referenced by Frustum(), and getMaterial().

Real Ogre::Frustum::mNearDist`[protected]`

| Near clip distance - default 100. Definition at line 72 of file OgreFrustum.h. Referenced by Ogre::Camera::Camera(), Ogre::Camera::getBoundingRadius(), Ogre::Camera::getCameraToViewportRay(), getNearClipDistance(), Ogre::operator<<(), setNearClipDistance(), Ogre::Camera::setWindowImpl(), updateFrustum(), and updateView().

bool Ogre::Frustum::mObliqueDepthProjection`[protected]`

| Is this frustum using an oblique depth projection? Definition at line 134 of file OgreFrustum.h. Referenced by disableCustomNearClipPlane(), and enableCustomNearClipPlane().

Plane Ogre::Frustum::mObliqueProjPlane`[protected]`

| Fixed oblique projection plane. Definition at line 136 of file OgreFrustum.h. Referenced by enableCustomNearClipPlane(), isFrustumOutOfDate(), and updateFrustum().

bool Ogre::MovableObject::mParentIsTagPoint`[protected, inherited]`

| Definition at line 49 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::_notifyAttached(), and Ogre::MovableObject::MovableObject().

Node* Ogre::MovableObject::mParentNode`[protected, inherited]`

node to which this object is attached

Definition at line 48 of file OgreMovableObject.h.

Referenced by Ogre::MovablePlane::_getDerivedPlane(), Ogre::MovableObject::_getParentNodeFullTransform(), Ogre::MovableObject::_notifyAttached(), Ogre::Entity::_notifyCurrentCamera(), Ogre::ParticleSystem::_triggerEmitters(), Ogre::ParticleSystem::_updateBounds(), Ogre::BillboardSet::_updateBounds(), Ogre::Entity::attachObjectToBone(), Ogre::Camera::Camera(), Ogre::Entity::detachAllObjectsFromBone(), Ogre::Entity::detachObjectFromBone(), Frustum(), Ogre::BillboardSet::genBillboardAxes(), Ogre::Entity::getBoundingRadius(), Ogre::MovableObject::getParentNode(), Ogre::MovableObject::getPointExtrusionDistance(), Ogre::Entity::getShadowVolumeRenderableIterator(), getSquaredViewDepth(), Ogre::MovableObject::getWorldBoundingSphere(), Ogre::TerrainRenderable::getWorldOrientation(), Ogre::SubEntity::getWorldOrientation(), Ogre::SimpleRenderable::getWorldOrientation(), Ogre::ParticleSystem::getWorldOrientation(), getWorldOrientation(), Ogre::BillboardSet::getWorldOrientation(), Ogre::TerrainRenderable::getWorldPosition(), Ogre::SubEntity::getWorldPosition(), Ogre::SimpleRenderable::getWorldPosition(), Ogre::ParticleSystem::getWorldPosition(), getWorldPosition(), Ogre::BillboardSet::getWorldPosition(), Ogre::TerrainRenderable::getWorldTransforms(), Ogre::SimpleRenderable::getWorldTransforms(), getWorldTransforms(), Ogre::MovableObject::isAttached(), isViewOutOfDate(), Ogre::Camera::isViewOutOfDate(), Ogre::Light::Light(), Ogre::MovableObject::MovableObject(), Ogre::SimpleRenderable::SimpleRenderable(), Ogre::Light::update(), and Ogre::Entity::updateAnimation().

Matrix4 Ogre::Frustum::mProjMatrix`[protected]`

| Pre-calced projection matrix. Definition at line 84 of file OgreFrustum.h. Referenced by Ogre::Camera::Camera(), getProjectionMatrix(), and updateFrustum().

ProjectionType Ogre::Frustum::mProjType`[protected]`

| Orthographic or perspective? Definition at line 65 of file OgreFrustum.h. Referenced by Ogre::Camera::Camera(), getProjectionType(), setProjectionType(), updateFrustum(), and updateView().

unsigned long Ogre::MovableObject::mQueryFlags`[protected, inherited]`

| Flags determining whether this object is included / excluded from scene queries. Definition at line 59 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::MovableObject(), and Ogre::TerrainRenderable::TerrainRenderable().

bool Ogre::Frustum::mRecalcFrustum`[protected]`

| Something's changed in the frustrum shape? Definition at line 90 of file OgreFrustum.h. Referenced by invalidateFrustum(), Ogre::Camera::invalidateFrustum(), isFrustumOutOfDate(), and updateFrustum().

bool Ogre::Frustum::mRecalcView`[protected]`

| Something re the view pos has changed. Definition at line 92 of file OgreFrustum.h. Referenced by invalidateView(), Ogre::Camera::invalidateView(), isViewOutOfDate(), Ogre::Camera::isViewOutOfDate(), and updateView().

bool Ogre::Frustum::mReflect`[protected]`

| Is this frustum to act as a reflection of itself? Definition at line 123 of file OgreFrustum.h. Referenced by Ogre::Camera::Camera(), disableReflection(), enableReflection(), isViewOutOfDate(), and Ogre::Camera::isViewOutOfDate().

Matrix4 Ogre::Frustum::mReflectMatrix`[protected]`

| Derived reflection matrix. Definition at line 125 of file OgreFrustum.h. Referenced by enableReflection(), isViewOutOfDate(), Ogre::Camera::isViewOutOfDate(), and updateView().

Plane Ogre::Frustum::mReflectPlane`[protected]`

| Fixed reflection plane. Definition at line 127 of file OgreFrustum.h. Referenced by enableReflection(), isViewOutOfDate(), and Ogre::Camera::isViewOutOfDate().

RenderQueueGroupID Ogre::MovableObject::mRenderQueueID`[protected, inherited]`

| The render queue to use when rendering this object. Definition at line 55 of file OgreMovableObject.h. Referenced by Ogre::SimpleRenderable::_updateRenderQueue(), Ogre::Entity::_updateRenderQueue(), Ogre::BillboardSet::_updateRenderQueue(), Ogre::MovableObject::getRenderQueueGroup(), Ogre::MovableObject::MovableObject(), and Ogre::MovableObject::setRenderQueueGroup().

bool Ogre::MovableObject::mRenderQueueIDSet`[protected, inherited]`

| Flags whether the RenderQueue's default should be used. Definition at line 57 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::MovableObject(), and Ogre::MovableObject::setRenderQueueGroup().

const PlaneList Ogre::Renderable::msDummyPlaneList`[static, protected, inherited]`

| Definition at line 45 of file OgreRenderSystem.cpp.

String Ogre::Frustum::msMovableType = "Frustum"`[static, protected]`

| Shared class-level name for Movable type. Reimplemented in Ogre::Camera. Definition at line 44 of file OgreFrustum.cpp. Referenced by getMovableType(), and getName().

Matrix4 Ogre::Frustum::mStandardProjMatrix`[protected]`

| Pre-calced standard projection matrix. Definition at line 86 of file OgreFrustum.h. Referenced by getStandardProjectionMatrix(), updateFrustum(), and updateView().

UserDefinedObject* Ogre::MovableObject::mUserObject`[protected, inherited]`

| User defined object which is linked to this object. Definition at line 53 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::MovableObject().

VertexData Ogre::Frustum::mVertexData`[protected]`

| Definition at line 117 of file OgreFrustum.h. Referenced by Frustum(), getRenderOperation(), and updateFrustum().

Matrix4 Ogre::Frustum::mViewMatrix`[protected]`

| Pre-calced view matrix. Definition at line 88 of file OgreFrustum.h. Referenced by Ogre::Camera::Camera(), getViewMatrix(), Ogre::Camera::setWindowImpl(), updateFrustum(), and updateView().

bool Ogre::MovableObject::mVisible`[protected, inherited]`

| Is this object visible? Definition at line 51 of file OgreMovableObject.h. Referenced by Ogre::Camera::Camera(), Frustum(), Ogre::MovableObject::isVisible(), Ogre::MovableObject::MovableObject(), and Ogre::MovableObject::setVisible().

AxisAlignedBox Ogre::MovableObject::mWorldAABB`[protected, inherited]`

| Cached world AABB of this object. Definition at line 61 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::getWorldBoundingBox(), and Ogre::MovableObject::MovableObject().

Sphere Ogre::MovableObject::mWorldBoundingSphere`[protected, inherited]`

| Definition at line 63 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::getWorldBoundingSphere().

AxisAlignedBox Ogre::MovableObject::mWorldDarkCapBounds`[protected, inherited]`

| World space AABB of this object's dark cap. Definition at line 65 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::getDarkCapBounds().

Vector3 Ogre::Frustum::mWorldSpaceCorners[8]`[protected]`

| Definition at line 120 of file OgreFrustum.h. Referenced by getWorldSpaceCorners(), and updateView().

The documentation for this class was generated from the following files:

- OgreFrustum.h
- OgreFrustum.cpp

Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:50:59 2004