OgreFrustum.h
Go to the documentation of this file.
1 /*
2 -----------------------------------------------------------------------------
3 This source file is part of OGRE
4  (Object-oriented Graphics Rendering Engine)
5 For the latest info, see http://www.ogre3d.org/
6 
7 Copyright (c) 2000-2013 Torus Knot Software Ltd
8 
9 Permission is hereby granted, free of charge, to any person obtaining a copy
10 of this software and associated documentation files (the "Software"), to deal
11 in the Software without restriction, including without limitation the rights
12 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 copies of the Software, and to permit persons to whom the Software is
14 furnished to do so, subject to the following conditions:
15 
16 The above copyright notice and this permission notice shall be included in
17 all copies or substantial portions of the Software.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 THE SOFTWARE.
26 -----------------------------------------------------------------------------
27 */
28 #ifndef __Frustum_H__
29 #define __Frustum_H__
30 
31 #include "OgrePrerequisites.h"
32 #include "OgreMovableObject.h"
33 #include "OgreRenderable.h"
34 #include "OgreAxisAlignedBox.h"
35 #include "OgreVertexIndexData.h"
36 #include "OgreMovablePlane.h"
37 #include "OgreHeaderPrefix.h"
38 
39 namespace Ogre
40 {
50  {
55 
59  };
60 
64  {
67  };
68 
72  {
79  };
80 
86  {
87  protected:
90 
105 
107  mutable Plane mFrustumPlanes[6];
108 
112 
122  mutable bool mRecalcFrustum;
124  mutable bool mRecalcView;
126  mutable bool mRecalcFrustumPlanes;
130  mutable bool mRecalcVertexData;
138  mutable Real mLeft, mRight, mTop, mBottom;
141 
142  // Internal functions for calcs
143  virtual void calcProjectionParameters(Real& left, Real& right, Real& bottom, Real& top) const;
145  virtual void updateFrustum(void) const;
147  virtual void updateView(void) const;
149  virtual void updateFrustumImpl(void) const;
151  virtual void updateViewImpl(void) const;
152  virtual void updateFrustumPlanes(void) const;
154  virtual void updateFrustumPlanesImpl(void) const;
155  virtual void updateWorldSpaceCorners(void) const;
157  virtual void updateWorldSpaceCornersImpl(void) const;
158  virtual void updateVertexData(void) const;
159  virtual bool isViewOutOfDate(void) const;
160  virtual bool isFrustumOutOfDate(void) const;
162  virtual void invalidateFrustum(void) const;
164  virtual void invalidateView(void) const;
165 
168 
171 
173  mutable Vector3 mWorldSpaceCorners[8];
174 
176  bool mReflect;
185 
194 
195  public:
196 
199 
200  virtual ~Frustum();
213  virtual void setFOVy(const Radian& fovy);
214 
217  virtual const Radian& getFOVy(void) const;
218 
230  virtual void setNearClipDistance(Real nearDist);
231 
234  virtual Real getNearClipDistance(void) const;
235 
256  virtual void setFarClipDistance(Real farDist);
257 
260  virtual Real getFarClipDistance(void) const;
261 
270  virtual void setAspectRatio(Real ratio);
271 
274  virtual Real getAspectRatio(void) const;
275 
287  virtual void setFrustumOffset(const Vector2& offset);
288 
302  virtual void setFrustumOffset(Real horizontal = 0.0, Real vertical = 0.0);
303 
306  virtual const Vector2& getFrustumOffset() const;
307 
312  virtual void setFocalLength(Real focalLength = 1.0);
313 
316  virtual Real getFocalLength() const;
317 
322  virtual void setFrustumExtents(Real left, Real right, Real top, Real bottom);
324  virtual void resetFrustumExtents();
326  virtual void getFrustumExtents(Real& outleft, Real& outright, Real& outtop, Real& outbottom) const;
327 
328 
337  virtual const Matrix4& getProjectionMatrixRS(void) const;
349  virtual const Matrix4& getProjectionMatrixWithRSDepth(void) const;
359  virtual const Matrix4& getProjectionMatrix(void) const;
360 
363  virtual const Matrix4& getViewMatrix(void) const;
364 
369  virtual void calcViewMatrixRelative(const Vector3& relPos, Matrix4& matToUpdate) const;
370 
388  virtual void setCustomViewMatrix(bool enable,
389  const Matrix4& viewMatrix = Matrix4::IDENTITY);
391  virtual bool isCustomViewMatrixEnabled(void) const
392  { return mCustomViewMatrix; }
393 
415  virtual void setCustomProjectionMatrix(bool enable,
416  const Matrix4& projectionMatrix = Matrix4::IDENTITY);
418  virtual bool isCustomProjectionMatrixEnabled(void) const
419  { return mCustomProjMatrix; }
420 
425  virtual const Plane* getFrustumPlanes(void) const;
426 
431  virtual const Plane& getFrustumPlane( unsigned short plane ) const;
432 
444  virtual bool isVisible(const AxisAlignedBox& bound, FrustumPlane* culledBy = 0) const;
445 
457  virtual bool isVisible(const Sphere& bound, FrustumPlane* culledBy = 0) const;
458 
470  virtual bool isVisible(const Vector3& vert, FrustumPlane* culledBy = 0) const;
471 
473  uint32 getTypeFlags(void) const;
474 
476  const AxisAlignedBox& getBoundingBox(void) const;
477 
479  Real getBoundingRadius(void) const;
480 
483 
485  const String& getMovableType(void) const;
486 
489 
491  const MaterialPtr& getMaterial(void) const;
492 
495 
497  void getWorldTransforms(Matrix4* xform) const;
498 
500  Real getSquaredViewDepth(const Camera* cam) const;
501 
503  const LightList& getLights(void) const;
504 
511  virtual const Vector3* getWorldSpaceCorners(void) const;
512 
516 
519  virtual ProjectionType getProjectionType(void) const;
520 
531  virtual void setOrthoWindow(Real w, Real h);
537  virtual void setOrthoWindowHeight(Real h);
543  virtual void setOrthoWindowWidth(Real w);
546  virtual Real getOrthoWindowHeight() const;
550  virtual Real getOrthoWindowWidth() const;
551 
557  virtual void enableReflection(const Plane& p);
566  virtual void enableReflection(const MovablePlane* p);
567 
569  virtual void disableReflection(void);
570 
572  virtual bool isReflected(void) const { return mReflect; }
574  virtual const Matrix4& getReflectionMatrix(void) const { return mReflectMatrix; }
576  virtual const Plane& getReflectionPlane(void) const { return mReflectPlane; }
577 
595  virtual bool projectSphere(const Sphere& sphere,
596  Real* left, Real* top, Real* right, Real* bottom) const;
597 
598 
625  virtual void enableCustomNearClipPlane(const MovablePlane* plane);
647  virtual void enableCustomNearClipPlane(const Plane& plane);
649  virtual void disableCustomNearClipPlane(void);
651  virtual bool isCustomNearClipPlaneEnabled(void) const
652  { return mObliqueDepthProjection; }
653 
656  bool debugRenderables = false);
657 
660 
662  virtual const Vector3& getPositionForViewUpdate(void) const;
664  virtual const Quaternion& getOrientationForViewUpdate(void) const;
665 
674  void setOrientationMode(OrientationMode orientationMode);
675 
682 
683  };
684 
688 } // namespace Ogre
689 
690 #include "OgreHeaderSuffix.h"
691 
692 #endif // __Frustum_H__
OgreHeaderSuffix.h
Ogre::HashedVector< Light * >
Ogre::Frustum::getNearClipDistance
virtual Real getNearClipDistance(void) const
Sets the position of the near clipping plane.
Ogre::Frustum::mRecalcFrustum
bool mRecalcFrustum
Something's changed in the frustum shape?
Definition: OgreFrustum.h:122
Ogre::Frustum::mRecalcView
bool mRecalcView
Something re the view pos has changed.
Definition: OgreFrustum.h:124
Ogre::OR_DEGREE_90
@ OR_DEGREE_90
Definition: OgreFrustum.h:52
Ogre::Frustum::getOrientationMode
OrientationMode getOrientationMode() const
Get the orientation mode of the frustum.
Ogre::Frustum::setOrientationMode
void setOrientationMode(OrientationMode orientationMode)
Set the orientation mode of the frustum.
Ogre::Frustum::enableReflection
virtual void enableReflection(const MovablePlane *p)
Modifies this frustum so it always renders from the reflection of itself through the plane specified.
Ogre::Frustum::setFrustumOffset
virtual void setFrustumOffset(Real horizontal=0.0, Real vertical=0.0)
Sets frustum offsets, used in stereo rendering.
Ogre::FRUSTUM_PLANE_BOTTOM
@ FRUSTUM_PLANE_BOTTOM
Definition: OgreFrustum.h:78
Ogre::PT_ORTHOGRAPHIC
@ PT_ORTHOGRAPHIC
Definition: OgreFrustum.h:65
Ogre::Frustum::resetFrustumExtents
virtual void resetFrustumExtents()
Reset the frustum extents to be automatically derived from other params.
Ogre::Frustum::getPlaneBoundedVolume
PlaneBoundedVolume getPlaneBoundedVolume()
Gets a world-space list of planes enclosing the frustum.
Ogre
Definition: OgreAndroidLogListener.h:35
Ogre::FRUSTUM_PLANE_NEAR
@ FRUSTUM_PLANE_NEAR
Definition: OgreFrustum.h:73
Ogre::Plane
Defines a plane in 3D space.
Definition: OgrePlane.h:62
Ogre::Frustum::getMovableType
const String & getMovableType(void) const
Overridden from MovableObject.
Ogre::Frustum::mCustomViewMatrix
bool mCustomViewMatrix
Are we using a custom view matrix?
Definition: OgreFrustum.h:132
Ogre::Camera
A viewpoint from which the scene will be rendered.
Definition: OgreCamera.h:87
Ogre::Frustum::mNearDist
Real mNearDist
Near clip distance - default 100.
Definition: OgreFrustum.h:96
Ogre::Frustum::setAspectRatio
virtual void setAspectRatio(Real ratio)
Sets the aspect ratio for the frustum viewport.
Ogre::OR_DEGREE_0
@ OR_DEGREE_0
Definition: OgreFrustum.h:51
Ogre::Frustum::updateVertexData
virtual void updateVertexData(void) const
Ogre::Frustum::updateFrustumPlanesImpl
virtual void updateFrustumPlanesImpl(void) const
Implementation of updateFrustumPlanes (called if out of date)
Ogre::Frustum::calcProjectionParameters
virtual void calcProjectionParameters(Real &left, Real &right, Real &bottom, Real &top) const
Ogre::Frustum::isVisible
virtual bool isVisible(const AxisAlignedBox &bound, FrustumPlane *culledBy=0) const
Tests whether the given container is visible in the Frustum.
Ogre::Frustum::getFrustumPlanes
virtual const Plane * getFrustumPlanes(void) const
Retrieves the clipping planes of the frustum (world space).
Ogre::Frustum::isCustomProjectionMatrixEnabled
virtual bool isCustomProjectionMatrixEnabled(void) const
Returns whether a custom projection matrix is in use.
Definition: OgreFrustum.h:418
Ogre::FRUSTUM_PLANE_FAR
@ FRUSTUM_PLANE_FAR
Definition: OgreFrustum.h:74
Ogre::Frustum::isViewOutOfDate
virtual bool isViewOutOfDate(void) const
Ogre::Frustum::mOrthoHeight
Real mOrthoHeight
Ortho height size (world units)
Definition: OgreFrustum.h:100
Ogre::Frustum::projectSphere
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.
Ogre::Frustum::isCustomNearClipPlaneEnabled
virtual bool isCustomNearClipPlaneEnabled(void) const
Is a custom near clip plane in use?
Definition: OgreFrustum.h:651
Ogre::Frustum::~Frustum
virtual ~Frustum()
Ogre::Frustum::_notifyCurrentCamera
void _notifyCurrentCamera(Camera *cam)
Overridden from MovableObject.
Ogre::Frustum::mLinkedReflectPlane
const MovablePlane * mLinkedReflectPlane
Pointer to a reflection plane (automatically updated)
Definition: OgreFrustum.h:182
Ogre::Frustum::getAspectRatio
virtual Real getAspectRatio(void) const
Retrieves the current aspect ratio.
Ogre::Frustum::calcViewMatrixRelative
virtual void calcViewMatrixRelative(const Vector3 &relPos, Matrix4 &matToUpdate) const
Calculate a view matrix for this frustum, relative to a potentially dynamic point.
Ogre::Frustum::getRenderOperation
void getRenderOperation(RenderOperation &op)
Overridden from Renderable.
Ogre::Frustum::enableReflection
virtual void enableReflection(const Plane &p)
Modifies this frustum so it always renders from the reflection of itself through the plane specified.
Ogre::Frustum::disableCustomNearClipPlane
virtual void disableCustomNearClipPlane(void)
Disables any custom near clip plane.
Ogre::Frustum::invalidateFrustum
virtual void invalidateFrustum(void) const
Signal to update frustum information.
Ogre::MovableObject
Abstract class defining a movable object in a scene.
Definition: OgreMovableObject.h:61
Ogre::Frustum::mFOVy
Radian mFOVy
y-direction field-of-view (default 45)
Definition: OgreFrustum.h:92
Ogre::Frustum::getOrientationForViewUpdate
virtual const Quaternion & getOrientationForViewUpdate(void) const
Get the derived orientation of this frustum.
OgreMovablePlane.h
Ogre::uint32
unsigned int uint32
Definition: OgrePlatform.h:359
Ogre::Frustum::getFOVy
virtual const Radian & getFOVy(void) const
Retrieves the frustums Y-dimension Field Of View (FOV).
Ogre::Frustum::getMaterial
const MaterialPtr & getMaterial(void) const
Overridden from Renderable.
Ogre::PT_PERSPECTIVE
@ PT_PERSPECTIVE
Definition: OgreFrustum.h:66
Ogre::Frustum::getPositionForViewUpdate
virtual const Vector3 & getPositionForViewUpdate(void) const
Get the derived position of this frustum.
Ogre::String
_StringBase String
Definition: OgrePrerequisites.h:439
Ogre::Frustum::isVisible
virtual bool isVisible(const Sphere &bound, FrustumPlane *culledBy=0) const
Tests whether the given container is visible in the Frustum.
Ogre::Frustum::getViewMatrix
virtual const Matrix4 & getViewMatrix(void) const
Gets the view matrix for this frustum.
Ogre::MovablePlane
Definition of a Plane that may be attached to a node, and the derived details of it retrieved simply.
Definition: OgreMovablePlane.h:55
Ogre::Frustum::mObliqueDepthProjection
bool mObliqueDepthProjection
Is this frustum using an oblique depth projection?
Definition: OgreFrustum.h:187
Ogre::Frustum::mFrustumExtentsManuallySet
bool mFrustumExtentsManuallySet
Have the frustum extents been manually set?
Definition: OgreFrustum.h:136
Ogre::Frustum::getReflectionPlane
virtual const Plane & getReflectionPlane(void) const
Returns the reflection plane of the frustum if appropriate.
Definition: OgreFrustum.h:576
Ogre::Frustum::mProjType
ProjectionType mProjType
Orthographic or perspective?
Definition: OgreFrustum.h:89
Ogre::Frustum::getWorldSpaceCorners
virtual const Vector3 * getWorldSpaceCorners(void) const
Gets the world space corners of the frustum.
Ogre::VertexData
Summary class collecting together vertex source information.
Definition: OgreVertexIndexData.h:50
Ogre::Quaternion
Implementation of a Quaternion, i.e.
Definition: OgreQuaternion.h:58
Ogre::Frustum::mFocalLength
Real mFocalLength
Focal length of frustum (for stereo rendering, defaults to 1.0)
Definition: OgreFrustum.h:104
Ogre::StringUtil::BLANK
static const String BLANK
Constant blank string, useful for returning by ref where local does not exist.
Definition: OgreString.h:196
Ogre::OrientationMode
OrientationMode
Specifies orientation mode.
Definition: OgreFrustum.h:50
Ogre::Frustum::getReflectionMatrix
virtual const Matrix4 & getReflectionMatrix(void) const
Returns the reflection matrix of the frustum if appropriate.
Definition: OgreFrustum.h:574
Ogre::Frustum::getTypeFlags
uint32 getTypeFlags(void) const
Overridden from MovableObject::getTypeFlags.
Ogre::Frustum::updateViewImpl
virtual void updateViewImpl(void) const
Implementation of updateView (called if out of date)
OgreHeaderPrefix.h
Ogre::Matrix4
Class encapsulating a standard 4x4 homogeneous matrix.
Definition: OgreMatrix4.h:79
Ogre::Frustum::mFrustumOffset
Vector2 mFrustumOffset
Off-axis frustum center offset - default (0.0, 0.0)
Definition: OgreFrustum.h:102
Ogre::Frustum::getProjectionMatrixRS
virtual const Matrix4 & getProjectionMatrixRS(void) const
Gets the projection matrix for this frustum adjusted for the current rendersystem specifics (may be r...
Ogre::Frustum::mMaterial
MaterialPtr mMaterial
Definition: OgreFrustum.h:172
Ogre::Frustum::getLights
const LightList & getLights(void) const
Overridden from Renderable.
Ogre::Frustum::setCustomViewMatrix
virtual void setCustomViewMatrix(bool enable, const Matrix4 &viewMatrix=Matrix4::IDENTITY)
Set whether to use a custom view matrix on this frustum.
Ogre::Frustum::mReflect
bool mReflect
Is this frustum to act as a reflection of itself?
Definition: OgreFrustum.h:176
Ogre::Frustum::enableCustomNearClipPlane
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 ...
Ogre::Frustum::mRecalcFrustumPlanes
bool mRecalcFrustumPlanes
Something re the frustum planes has changed.
Definition: OgreFrustum.h:126
OgrePrerequisites.h
Ogre::Frustum::isVisible
virtual bool isVisible(const Vector3 &vert, FrustumPlane *culledBy=0) const
Tests whether the given vertex is visible in the Frustum.
Ogre::OR_DEGREE_270
@ OR_DEGREE_270
Definition: OgreFrustum.h:54
Ogre::Frustum::mReflectMatrix
Matrix4 mReflectMatrix
Derived reflection matrix.
Definition: OgreFrustum.h:178
Ogre::Frustum::setOrthoWindow
virtual void setOrthoWindow(Real w, Real h)
Sets the orthographic window settings, for use with orthographic rendering only.
Ogre::Frustum::getBoundingRadius
Real getBoundingRadius(void) const
Overridden from MovableObject.
Ogre::Frustum::getWorldTransforms
void getWorldTransforms(Matrix4 *xform) const
Overridden from Renderable.
Ogre::Frustum::isFrustumOutOfDate
virtual bool isFrustumOutOfDate(void) const
Ogre::Frustum::getOrthoWindowHeight
virtual Real getOrthoWindowHeight() const
Gets the orthographic window height, for use with orthographic rendering only.
Ogre::Matrix4::IDENTITY
static const Matrix4 IDENTITY
Definition: OgreMatrix4.h:511
Ogre::Frustum::isCustomViewMatrixEnabled
virtual bool isCustomViewMatrixEnabled(void) const
Returns whether a custom view matrix is in use.
Definition: OgreFrustum.h:391
Ogre::Radian
Wrapper class which indicates a given angle value is in Radians.
Definition: OgreMath.h:48
Ogre::Frustum::setProjectionType
virtual void setProjectionType(ProjectionType pt)
Sets the type of projection to use (orthographic or perspective).
Ogre::Frustum::getFocalLength
virtual Real getFocalLength() const
Returns focal length of frustum.
Ogre::Frustum::enableCustomNearClipPlane
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 ...
Ogre::Frustum::getProjectionMatrix
virtual const Matrix4 & getProjectionMatrix(void) const
Gets the normal projection matrix for this frustum, ie the projection matrix which conforms to standa...
Ogre::Frustum::Frustum
Frustum(const String &name=StringUtil::BLANK)
Named constructor.
Ogre::Frustum::updateWorldSpaceCornersImpl
virtual void updateWorldSpaceCornersImpl(void) const
Implementation of updateWorldSpaceCorners (called if out of date)
Ogre::Frustum::mCustomProjMatrix
bool mCustomProjMatrix
Are we using a custom projection matrix?
Definition: OgreFrustum.h:134
Ogre::AxisAlignedBox
A 3D box aligned with the x/y/z axes.
Definition: OgreAxisAlignedBox.h:55
_OgreExport
#define _OgreExport
Definition: OgrePlatform.h:257
Ogre::OR_LANDSCAPELEFT
@ OR_LANDSCAPELEFT
Definition: OgreFrustum.h:58
Ogre::Frustum::getBoundingBox
const AxisAlignedBox & getBoundingBox(void) const
Overridden from MovableObject.
Ogre::Frustum::mAspect
Real mAspect
x/y viewport ratio - default 1.3333
Definition: OgreFrustum.h:98
Ogre::Frustum::_updateRenderQueue
void _updateRenderQueue(RenderQueue *queue)
Overridden from MovableObject.
Ogre::Frustum::visitRenderables
void visitRenderables(Renderable::Visitor *visitor, bool debugRenderables=false)
Method to allow a caller to abstractly iterate over the Renderable instances that this MovableObject ...
Ogre::Sphere
A sphere primitive, mostly used for bounds checking.
Definition: OgreSphere.h:52
Ogre::Frustum::mProjMatrixRSDepth
Matrix4 mProjMatrixRSDepth
Pre-calced standard projection matrix but with render system depth range.
Definition: OgreFrustum.h:116
Ogre::Frustum::getProjectionType
virtual ProjectionType getProjectionType(void) const
Retrieves info on the type of projection used (orthographic or perspective).
Ogre::Frustum
A frustum represents a pyramid, capped at the near and far end which is used to represent either a vi...
Definition: OgreFrustum.h:86
Ogre::Frustum::updateFrustum
virtual void updateFrustum(void) const
Update frustum if out of date.
Ogre::Frustum::msMovableType
static String msMovableType
Shared class-level name for Movable type.
Definition: OgreFrustum.h:167
Ogre::Frustum::mProjMatrixRS
Matrix4 mProjMatrixRS
Pre-calced projection matrix for the specific render system.
Definition: OgreFrustum.h:114
Ogre::OR_PORTRAIT
@ OR_PORTRAIT
Definition: OgreFrustum.h:56
Ogre::FRUSTUM_PLANE_TOP
@ FRUSTUM_PLANE_TOP
Definition: OgreFrustum.h:77
Ogre::Frustum::mBoundingBox
AxisAlignedBox mBoundingBox
Definition: OgreFrustum.h:169
Ogre::SharedPtr< Material >
Ogre::Frustum::mLinkedObliqueProjPlane
const MovablePlane * mLinkedObliqueProjPlane
Pointer to oblique projection plane (automatically updated)
Definition: OgreFrustum.h:191
OgreRenderable.h
Ogre::FrustumPlane
FrustumPlane
Worldspace clipping planes.
Definition: OgreFrustum.h:72
Ogre::Frustum::setNearClipDistance
virtual void setNearClipDistance(Real nearDist)
Sets the position of the near clipping plane.
Ogre::Frustum::mLastParentOrientation
Quaternion mLastParentOrientation
Stored versions of parent orientation / position.
Definition: OgreFrustum.h:110
Ogre::OR_LANDSCAPERIGHT
@ OR_LANDSCAPERIGHT
Definition: OgreFrustum.h:57
OgreMovableObject.h
Ogre::Frustum::mRecalcVertexData
bool mRecalcVertexData
Something re the vertex data has changed.
Definition: OgreFrustum.h:130
Ogre::Frustum::disableReflection
virtual void disableReflection(void)
Disables reflection modification previously turned on with enableReflection.
Ogre::Frustum::mFarDist
Real mFarDist
Far clip distance - default 10000.
Definition: OgreFrustum.h:94
Ogre::PlaneBoundedVolume
Represents a convex volume bounded by planes.
Definition: OgrePlaneBoundedVolume.h:50
Ogre::Frustum::setFrustumOffset
virtual void setFrustumOffset(const Vector2 &offset)
Sets frustum offsets, used in stereo rendering.
Ogre::Frustum::getSquaredViewDepth
Real getSquaredViewDepth(const Camera *cam) const
Overridden from Renderable.
OgreVertexIndexData.h
Ogre::Frustum::mLastLinkedObliqueProjPlane
Plane mLastLinkedObliqueProjPlane
Record of the last world-space oblique depth projection plane info used.
Definition: OgreFrustum.h:193
Ogre::Frustum::mVertexData
VertexData mVertexData
Definition: OgreFrustum.h:170
Ogre::Frustum::setFarClipDistance
virtual void setFarClipDistance(Real farDist)
Sets the distance to the far clipping plane.
Ogre::Vector2
Standard 2-dimensional vector.
Definition: OgreVector2.h:52
Ogre::Frustum::setFOVy
virtual void setFOVy(const Radian &fovy)
Sets the Y-dimension Field Of View (FOV) of the frustum.
Ogre::FRUSTUM_PLANE_LEFT
@ FRUSTUM_PLANE_LEFT
Definition: OgreFrustum.h:75
Ogre::Renderable::Visitor
Visitor object that can be used to iterate over a collection of Renderable instances abstractly.
Definition: OgreRenderable.h:378
Ogre::Frustum::mProjMatrix
Matrix4 mProjMatrix
Pre-calced standard projection matrix.
Definition: OgreFrustum.h:118
Ogre::Frustum::getProjectionMatrixWithRSDepth
virtual const Matrix4 & getProjectionMatrixWithRSDepth(void) const
Gets the depth-adjusted projection matrix for the current rendersystem, but one which still conforms ...
Ogre::Frustum::setOrthoWindowWidth
virtual void setOrthoWindowWidth(Real w)
Sets the orthographic window width, for use with orthographic rendering only.
Ogre::Frustum::getFrustumOffset
virtual const Vector2 & getFrustumOffset() const
Retrieves the frustum offsets.
Ogre::Renderable
Abstract class defining the interface all renderable objects must implement.
Definition: OgreRenderable.h:64
Ogre::Frustum::mLastLinkedReflectionPlane
Plane mLastLinkedReflectionPlane
Record of the last world-space reflection plane info used.
Definition: OgreFrustum.h:184
Ogre::Frustum::isReflected
virtual bool isReflected(void) const
Returns whether this frustum is being reflected.
Definition: OgreFrustum.h:572
Ogre::Frustum::getFrustumExtents
virtual void getFrustumExtents(Real &outleft, Real &outright, Real &outtop, Real &outbottom) const
Get the extents of the frustum in view space.
Ogre::Frustum::mOrientationMode
OrientationMode mOrientationMode
Frustum orientation mode.
Definition: OgreFrustum.h:140
Ogre::FRUSTUM_PLANE_RIGHT
@ FRUSTUM_PLANE_RIGHT
Definition: OgreFrustum.h:76
Ogre::Frustum::mTop
Real mTop
Definition: OgreFrustum.h:138
Ogre::Real
float Real
Software floating point type.
Definition: OgrePrerequisites.h:70
Ogre::Frustum::updateWorldSpaceCorners
virtual void updateWorldSpaceCorners(void) const
Ogre::Frustum::updateFrustumPlanes
virtual void updateFrustumPlanes(void) const
OgreAxisAlignedBox.h
Ogre::Frustum::INFINITE_FAR_PLANE_ADJUST
static const Real INFINITE_FAR_PLANE_ADJUST
Small constant used to reduce far plane projection to avoid inaccuracies.
Definition: OgreFrustum.h:659
Ogre::Frustum::setCustomProjectionMatrix
virtual void setCustomProjectionMatrix(bool enable, const Matrix4 &projectionMatrix=Matrix4::IDENTITY)
Set whether to use a custom projection matrix on this frustum.
Ogre::Frustum::setFocalLength
virtual void setFocalLength(Real focalLength=1.0)
Sets frustum focal length (used in stereo rendering).
Ogre::Frustum::setFrustumExtents
virtual void setFrustumExtents(Real left, Real right, Real top, Real bottom)
Manually set the extents of the frustum.
Ogre::Frustum::setOrthoWindowHeight
virtual void setOrthoWindowHeight(Real h)
Sets the orthographic window height, for use with orthographic rendering only.
Ogre::Frustum::mLastParentPosition
Vector3 mLastParentPosition
Definition: OgreFrustum.h:111
Ogre::ProjectionType
ProjectionType
Specifies perspective (realistic) or orthographic (architectural) projection.
Definition: OgreFrustum.h:64
Ogre::Frustum::invalidateView
virtual void invalidateView(void) const
Signal to update view information.
Ogre::Frustum::mReflectPlane
Plane mReflectPlane
Fixed reflection plane.
Definition: OgreFrustum.h:180
Ogre::Frustum::getFarClipDistance
virtual Real getFarClipDistance(void) const
Retrieves the distance from the frustum to the far clipping plane.
Ogre::Frustum::mObliqueProjPlane
Plane mObliqueProjPlane
Fixed oblique projection plane.
Definition: OgreFrustum.h:189
Ogre::OR_DEGREE_180
@ OR_DEGREE_180
Definition: OgreFrustum.h:53
Ogre::Vector3
Standard 3-dimensional vector.
Definition: OgreVector3.h:52
Ogre::RenderOperation
'New' rendering operation using vertex buffers.
Definition: OgreRenderOperation.h:45
Ogre::Frustum::getOrthoWindowWidth
virtual Real getOrthoWindowWidth() const
Gets the orthographic window width, for use with orthographic rendering only.
Ogre::Frustum::updateFrustumImpl
virtual void updateFrustumImpl(void) const
Implementation of updateFrustum (called if out of date)
Ogre::RenderQueue
Class to manage the scene object rendering queue.
Definition: OgreRenderQueue.h:93
Ogre::Frustum::mViewMatrix
Matrix4 mViewMatrix
Pre-calced view matrix.
Definition: OgreFrustum.h:120
Ogre::Frustum::getFrustumPlane
virtual const Plane & getFrustumPlane(unsigned short plane) const
Retrieves a specified plane of the frustum (world space).
Ogre::Frustum::mRecalcWorldSpaceCorners
bool mRecalcWorldSpaceCorners
Something re the world space corners has changed.
Definition: OgreFrustum.h:128
Ogre::Frustum::updateView
virtual void updateView(void) const
Update view if out of date.

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.