#include <OgreFrustum.h>
Inheritance diagram for Ogre::Frustum:
Public Types | |
typedef std::vector< ShadowRenderable * > | ShadowRenderableList |
typedef VectorIterator< ShadowRenderableList > | ShadowRenderableListIterator |
Public Methods | |
Frustum () | |
virtual | ~Frustum () |
virtual void | setFOVy (Real fovy) |
Sets the Y-dimension Field Of View (FOV) of the frustum. | |
virtual Real | 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 | 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 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. | |
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. | |
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 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) |
Signal to update frustum information. | |
virtual void | invalidateView (void) |
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? | |
Real | 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 |
Plane | mReflectPlane |
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 | msMovableType = "Frustum" |
Shared class-level name for Movable type. |
Can be used for a number of applications.
Definition at line 60 of file OgreFrustum.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 88 of file OgreFrustum.cpp. |
|
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(). |
|
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(). |
|
Overridden from MovableObject.
Implements Ogre::MovableObject. Definition at line 702 of file OgreFrustum.cpp. |
|
Overridden from MovableObject.
Implements Ogre::MovableObject. Definition at line 627 of file OgreFrustum.cpp. References Ogre::RenderQueue::addRenderable(). |
|
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. |
|
Disables reflection modification previously turned on with enableReflection.
Definition at line 756 of file OgreFrustum.cpp. References invalidateView(), and mReflect. |
|
Modifies this frustum so it always renders from the reflection of itself through the plane specified.
Definition at line 747 of file OgreFrustum.cpp. References invalidateView(), mReflect, mReflectMatrix, and mReflectPlane. |
|
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(). |
|
Retreives the current aspect ratio.
Definition at line 609 of file OgreFrustum.cpp. References mAspect, and Ogre::Real. |
|
Overridden from MovableObject.
Implements Ogre::MovableObject. Definition at line 622 of file OgreFrustum.cpp. References mBoundingBox. |
|
Overridden from MovableObject.
Implements Ogre::MovableObject. Reimplemented in Ogre::Camera. Definition at line 638 of file OgreFrustum.cpp. References mFarDist, and 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(). |
|
Retrieves the distance from the frustum to the far clipping plane.
Definition at line 115 of file OgreFrustum.cpp. References mFarDist, and Ogre::Real. Referenced by Ogre::Light::_getFrustumClipVolumes(), and Ogre::SceneManager::_renderScene(). |
|
Retrieves the frustums Y-dimension Field Of View (FOV).
Definition at line 101 of file OgreFrustum.cpp. References mFOVy, and Ogre::Real. |
|
Retrieves a specified plane of the frustum.
Definition at line 162 of file OgreFrustum.cpp. References mFrustumPlanes, and updateView(). Referenced by Ogre::Light::_getFrustumClipVolumes(). |
|
Overridden member from ShadowCaster.
Implements Ogre::ShadowCaster. Definition at line 129 of file OgreMovableObject.cpp. References Ogre::MovableObject::getWorldBoundingBox(). Referenced by Ogre::MovableObject::getDarkCapBounds(). |
|
Overridden from Renderable.
Implements Ogre::Renderable. Definition at line 689 of file OgreFrustum.cpp. References Ogre::LightList. |
|
Overridden from Renderable.
Implements Ogre::Renderable. Definition at line 643 of file OgreFrustum.cpp. References mMaterial. |
|
Overridden from MovableObject.
Implements Ogre::MovableObject. Reimplemented in Ogre::Camera. Definition at line 633 of file OgreFrustum.cpp. References msMovableType. |
|
Overridden from MovableObject.
Implements Ogre::MovableObject. Reimplemented in Ogre::Camera. Definition at line 696 of file OgreFrustum.cpp. References msMovableType. |
|
Sets the position of the near clipping plane.
Definition at line 131 of file OgreFrustum.cpp. References mNearDist, and Ogre::Real. Referenced by Ogre::Light::_getNearClipVolume(), and Ogre::SceneManager::prepareShadowTextures(). |
|
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 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(). |
|
Get the derived orientation of this frustum.
Reimplemented in Ogre::Camera. Definition at line 742 of file OgreFrustum.cpp. References mLastParentOrientation. Referenced by updateView(). |
|
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. |
|
Get the derived position of this frustum.
Reimplemented in Ogre::Camera. Definition at line 737 of file OgreFrustum.cpp. References mLastParentPosition. Referenced by updateView(). |
|
Gets the projection matrix for this frustum. Mainly for use by OGRE internally.
Definition at line 137 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(). |
|
Retrieves info on the type of projection used (orthographic or perspective).
Definition at line 732 of file OgreFrustum.cpp. References mProjType, and Ogre::ProjectionType. Referenced by Ogre::D3D9RenderSystem::_setTextureMatrix(), and Ogre::D3DRenderSystem::_setTextureMatrix(). |
|
Returns the query flags relevant for this object.
Definition at line 181 of file OgreMovableObject.h. Referenced by Ogre::BspIntersectionSceneQuery::execute(). |
|
Returns the reflection matrix of the frustum if appropriate.
Definition at line 348 of file OgreFrustum.h. |
|
Returns the reflection plane of the frustum if appropriate.
Definition at line 350 of file OgreFrustum.h. |
|
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(). |
|
Overridden from Renderable.
Implements Ogre::Renderable. Definition at line 648 of file OgreFrustum.cpp. References mVertexData, Ogre::RenderOperation::operationType, updateFrustum(), updateView(), Ogre::RenderOperation::useIndexes, and Ogre::RenderOperation::vertexData. |
|
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. |
|
Overridden from Renderable.
Implements Ogre::Renderable. Definition at line 679 of file OgreFrustum.cpp. References Ogre::Node::_getDerivedPosition(), Ogre::Camera::getDerivedPosition(), Ogre::MovableObject::mParentNode, and Ogre::Real. |
|
Gets the 'standard' projection matrix for this frustum, ie the projection matrix which conforms to standard right-handed rules.
Definition at line 145 of file OgreFrustum.cpp. References mStandardProjMatrix, and updateFrustum(). Referenced by Ogre::AutoParamDataSource::getProjectionMatrix(), Ogre::AutoParamDataSource::getTextureViewProjMatrix(), and projectSphere(). |
|
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. |
|
Gets the view matrix for this frustum. Mainly for use by OGRE internally. Definition at line 153 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(). |
|
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(). |
|
Overridden from Renderable.
Implements Ogre::Renderable. Definition at line 663 of file OgreFrustum.cpp. References Ogre::Node::_getDerivedOrientation(), and Ogre::MovableObject::mParentNode. |
|
Overridden from Renderable.
Implements Ogre::Renderable. Definition at line 671 of file OgreFrustum.cpp. References Ogre::Node::_getDerivedPosition(), and Ogre::MovableObject::mParentNode. |
|
Gets the world space corners of the frustum.
Definition at line 718 of file OgreFrustum.cpp. References mWorldSpaceCorners, and updateView(). Referenced by Ogre::Light::_getFrustumClipVolumes(), Ogre::Light::_getNearClipVolume(), and Ogre::SceneManager::findShadowCastersForLight(). |
|
Overridden from Renderable.
Implements Ogre::Renderable. Definition at line 657 of file OgreFrustum.cpp. References Ogre::Node::getWorldTransforms(), and Ogre::MovableObject::mParentNode. |
|
Signal to update frustum information.
Reimplemented in Ogre::Camera. Definition at line 708 of file OgreFrustum.cpp. References mRecalcFrustum. Referenced by setAspectRatio(), setFarClipDistance(), setFOVy(), setNearClipDistance(), and setProjectionType(). |
|
Signal to update view information.
Reimplemented in Ogre::Camera. Definition at line 713 of file OgreFrustum.cpp. References mRecalcView. Referenced by disableReflection(), and enableReflection(). |
|
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(). |
|
Definition at line 455 of file OgreFrustum.cpp. References mRecalcFrustum. |
|
Returns whether this frustum is being reflected.
Definition at line 346 of file OgreFrustum.h. Referenced by Ogre::SceneManager::_renderScene(). |
|
Reimplemented in Ogre::Camera. Definition at line 433 of file OgreFrustum.cpp. References Ogre::Node::_getDerivedOrientation(), Ogre::Node::_getDerivedPosition(), mLastParentOrientation, mLastParentPosition, Ogre::MovableObject::mParentNode, and mRecalcView. Referenced by updateView(). |
|
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(). |
|
Tests whether the given vertex is visible in the Frustum.
Definition at line 213 of file OgreFrustum.cpp. References Ogre::FRUSTUM_PLANE_FAR, Ogre::FrustumPlane, Ogre::Plane::getSide(), mFarDist, mFrustumPlanes, and updateView(). |
|
Tests whether the given container is visible in the Frustum.
Definition at line 240 of file OgreFrustum.cpp. References Ogre::FRUSTUM_PLANE_FAR, Ogre::FrustumPlane, Ogre::Sphere::getCenter(), Ogre::Plane::getDistance(), Ogre::Sphere::getRadius(), mFarDist, mFrustumPlanes, and updateView(). |
|
Tests whether the given container is visible in the Frustum.
Definition at line 172 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(). |
|
Project a sphere onto the near plane and get the bounding rectangle.
Definition at line 762 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(). |
|
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 the aspect ratio for the frustum viewport.
Definition at line 615 of file OgreFrustum.cpp. References invalidateFrustum(), mAspect, and Ogre::Real. Referenced by Ogre::SceneManager::createShadowTextures(). |
|
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(). |
|
Sets the distance to the far clipping plane.
Definition at line 108 of file OgreFrustum.cpp. References invalidateFrustum(), mFarDist, and Ogre::Real. Referenced by Ogre::SceneManager::_renderScene(). |
|
Sets the Y-dimension Field Of View (FOV) of the frustum.
Definition at line 94 of file OgreFrustum.cpp. References invalidateFrustum(), mFOVy, and Ogre::Real. Referenced by Ogre::SceneManager::prepareShadowTextures(). |
|
Sets the position of the near clipping plane.
Definition at line 121 of file OgreFrustum.cpp. References Except, invalidateFrustum(), mNearDist, and Ogre::Real. Referenced by Ogre::SceneManager::prepareShadowTextures(). |
|
Sets the type of projection to use (orthographic or perspective). Default is perspective. Definition at line 725 of file OgreFrustum.cpp. References invalidateFrustum(), mProjType, and Ogre::ProjectionType. Referenced by Ogre::SceneManager::prepareShadowTextures(). |
|
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(). |
|
Reimplemented in Ogre::Camera. Definition at line 268 of file OgreFrustum.cpp. References Ogre::VertexBufferBinding::getBuffer(), mAspect, mBoundingBox, mCoeffB, mCoeffL, mCoeffR, mCoeffT, mFarDist, mFOVy, mNearDist, mProjMatrix, mProjType, mRecalcFrustum, mStandardProjMatrix, mVertexData, Ogre::PT_ORTHOGRAPHIC, Ogre::PT_PERSPECTIVE, Ogre::Real, Ogre::AxisAlignedBox::setExtents(), and Ogre::VertexData::vertexBufferBinding. Referenced by getProjectionMatrix(), getRenderOperation(), getStandardProjectionMatrix(), and updateView(). |
|
Reimplemented in Ogre::Camera. Definition at line 461 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, mCoeffB, mCoeffL, mCoeffR, mCoeffT, mFarDist, mFOVy, mFrustumPlanes, mNearDist, mProjType, mRecalcView, mReflectMatrix, mReflectPlane, mViewMatrix, mWorldSpaceCorners, Ogre::Plane::normal, Ogre::PT_ORTHOGRAPHIC, Ogre::Real, Ogre::Vector3::reflect(), 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(). |
|
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(). |
|
Small constant used to reduce far plane projection to avoid inaccuracies.
Definition at line 45 of file OgreFrustum.cpp. |
|
x/y viewport ratio - default 1.3333
Definition at line 73 of file OgreFrustum.h. Referenced by Ogre::Camera::Camera(), Frustum(), getAspectRatio(), Ogre::Camera::getCameraToViewportRay(), Ogre::operator<<(), setAspectRatio(), Ogre::Camera::setWindowImpl(), updateFrustum(), and updateView(). |
|
Definition at line 113 of file OgreFrustum.h. Referenced by getBoundingBox(), and updateFrustum(). |
|
Does this object cast shadows?
Definition at line 65 of file OgreMovableObject.h. Referenced by Ogre::BillboardSet::BillboardSet(), and Ogre::MovableObject::MovableObject(). |
|
Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes.
Definition at line 97 of file OgreFrustum.h. Referenced by updateFrustum(), and updateView(). |
|
Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes.
Definition at line 97 of file OgreFrustum.h. Referenced by updateFrustum(), and updateView(). |
|
Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes.
Definition at line 97 of file OgreFrustum.h. Referenced by updateFrustum(), and updateView(). |
|
Temp coefficient values calculated from a frustum change, used when establishing the frustum planes when the view changes.
Definition at line 97 of file OgreFrustum.h. Referenced by updateFrustum(), and updateView(). |
|
Far clip distance - default 10000.
Definition at line 69 of file OgreFrustum.h. Referenced by Ogre::Camera::Camera(), Frustum(), getBoundingRadius(), getFarClipDistance(), Ogre::OctreeCamera::getVisibility(), isVisible(), Ogre::operator<<(), setFarClipDistance(), updateFrustum(), and updateView(). |
|
y-direction field-of-view (default 45)
Definition at line 67 of file OgreFrustum.h. Referenced by Ogre::Camera::Camera(), Frustum(), Ogre::Camera::getCameraToViewportRay(), getFOVy(), Ogre::operator<<(), setFOVy(), Ogre::Camera::setWindowImpl(), updateFrustum(), and updateView(). |
|
The 6 main clipping planes.
Definition at line 76 of file OgreFrustum.h. Referenced by getFrustumPlane(), Ogre::OctreeCamera::getVisibility(), isVisible(), Ogre::operator<<(), and updateView(). |
|
Stored versions of parent orientation / position.
Definition at line 79 of file OgreFrustum.h. Referenced by getOrientationForViewUpdate(), isViewOutOfDate(), and Ogre::Camera::isViewOutOfDate(). |
|
Definition at line 80 of file OgreFrustum.h. Referenced by getPositionForViewUpdate(), isViewOutOfDate(), and Ogre::Camera::isViewOutOfDate(). |
|
Definition at line 116 of file OgreFrustum.h. Referenced by Frustum(), and getMaterial(). |
|
Near clip distance - default 100.
Definition at line 71 of file OgreFrustum.h. Referenced by Ogre::Camera::Camera(), Frustum(), Ogre::Camera::getBoundingRadius(), Ogre::Camera::getCameraToViewportRay(), getNearClipDistance(), Ogre::operator<<(), setNearClipDistance(), Ogre::Camera::setWindowImpl(), updateFrustum(), and updateView(). |
|
Definition at line 49 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::_notifyAttached(), Ogre::MovableObject::MovableObject(), and Ogre::MovableObject::~MovableObject(). |
|
|
Pre-calced projection matrix.
Definition at line 83 of file OgreFrustum.h. Referenced by Ogre::Camera::Camera(), Frustum(), getProjectionMatrix(), and updateFrustum(). |
|
Orthographic or perspective?
Definition at line 64 of file OgreFrustum.h. Referenced by Ogre::Camera::Camera(), Frustum(), getProjectionType(), setProjectionType(), updateFrustum(), and updateView(). |
|
Flags determining whether this object is included / excluded from scene queries.
Definition at line 57 of file OgreMovableObject.h. Referenced by Ogre::MovableObject::MovableObject(). |
|
Something's changed in the frustrum shape?
Definition at line 89 of file OgreFrustum.h. Referenced by Frustum(), invalidateFrustum(), Ogre::Camera::invalidateFrustum(), isFrustumOutOfDate(), and updateFrustum(). |
|
Something re the view pos has changed.
Definition at line 91 of file OgreFrustum.h. Referenced by Frustum(), invalidateView(), Ogre::Camera::invalidateView(), isViewOutOfDate(), Ogre::Camera::isViewOutOfDate(), and updateView(). |
|
Is this frustum to act as a reflection of itself?
Definition at line 120 of file OgreFrustum.h. Referenced by Ogre::Camera::Camera(), disableReflection(), enableReflection(), and Frustum(). |
|
Definition at line 121 of file OgreFrustum.h. Referenced by enableReflection(), Frustum(), and updateView(). |
|
Definition at line 122 of file OgreFrustum.h. Referenced by enableReflection(), and updateView(). |
|
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(). |
|
Shared class-level name for Movable type.
Reimplemented in Ogre::Camera. Definition at line 44 of file OgreFrustum.cpp. Referenced by getMovableType(), and getName(). |
|
Pre-calced standard projection matrix.
Definition at line 85 of file OgreFrustum.h. Referenced by getStandardProjectionMatrix(), and updateFrustum(). |
|
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 114 of file OgreFrustum.h. Referenced by Frustum(), getRenderOperation(), and updateFrustum(). |
|
Pre-calced view matrix.
Definition at line 87 of file OgreFrustum.h. Referenced by Ogre::Camera::Camera(), Frustum(), getViewMatrix(), Ogre::Camera::setWindowImpl(), and updateView(). |
|
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(). |
|
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 117 of file OgreFrustum.h. Referenced by getWorldSpaceCorners(), and updateView(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Fri May 14 23:26:11 2004