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;
213 virtual void setFOVy(
const Radian& fovy);
217 virtual const Radian& getFOVy(
void)
const;
230 virtual void setNearClipDistance(
Real nearDist);
234 virtual Real getNearClipDistance(
void)
const;
256 virtual void setFarClipDistance(
Real farDist);
260 virtual Real getFarClipDistance(
void)
const;
270 virtual void setAspectRatio(
Real ratio);
274 virtual Real getAspectRatio(
void)
const;
287 virtual void setFrustumOffset(
const Vector2& offset);
302 virtual void setFrustumOffset(
Real horizontal = 0.0,
Real vertical = 0.0);
306 virtual const Vector2& getFrustumOffset()
const;
312 virtual void setFocalLength(
Real focalLength = 1.0);
316 virtual Real getFocalLength()
const;
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;
337 virtual const Matrix4& getProjectionMatrixRS(
void)
const;
349 virtual const Matrix4& getProjectionMatrixWithRSDepth(
void)
const;
359 virtual const Matrix4& getProjectionMatrix(
void)
const;
363 virtual const Matrix4& getViewMatrix(
void)
const;
369 virtual void calcViewMatrixRelative(
const Vector3& relPos,
Matrix4& matToUpdate)
const;
388 virtual void setCustomViewMatrix(
bool enable,
392 {
return mCustomViewMatrix; }
415 virtual void setCustomProjectionMatrix(
bool enable,
419 {
return mCustomProjMatrix; }
425 virtual const Plane* getFrustumPlanes(
void)
const;
431 virtual const Plane& getFrustumPlane(
unsigned short plane )
const;
473 uint32 getTypeFlags(
void)
const;
479 Real getBoundingRadius(
void)
const;
485 const String& getMovableType(
void)
const;
488 void _notifyCurrentCamera(
Camera* cam);
497 void getWorldTransforms(
Matrix4* xform)
const;
500 Real getSquaredViewDepth(
const Camera* cam)
const;
511 virtual const Vector3* getWorldSpaceCorners(
void)
const;
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;
557 virtual void enableReflection(
const Plane& p);
569 virtual void disableReflection(
void);
595 virtual bool projectSphere(
const Sphere& sphere,
625 virtual void enableCustomNearClipPlane(
const MovablePlane* plane);
647 virtual void enableCustomNearClipPlane(
const Plane& plane);
649 virtual void disableCustomNearClipPlane(
void);
652 {
return mObliqueDepthProjection; }
656 bool debugRenderables =
false);
662 virtual const Vector3& getPositionForViewUpdate(
void)
const;
664 virtual const Quaternion& getOrientationForViewUpdate(
void)
const;
692 #endif // __Frustum_H__ Matrix4 mReflectMatrix
Derived reflection matrix.
virtual bool isCustomNearClipPlaneEnabled(void) const
Is a custom near clip plane in use?
virtual bool isCustomViewMatrixEnabled(void) const
Returns whether a custom view matrix is in use.
Abstract class defining the interface all renderable objects must implement.
virtual const Matrix4 & getReflectionMatrix(void) const
Returns the reflection matrix of the frustum if appropriate.
Abstract class defining a movable object in a scene.
Quaternion mLastParentOrientation
Stored versions of parent orientation / position.
Summary class collecting together vertex source information.
Represents a convex volume bounded by planes.
Implementation of a Quaternion, i.e.
A sphere primitive, mostly used for bounds checking.
Plane mLastLinkedObliqueProjPlane
Record of the last world-space oblique depth projection plane info used.
Plane mObliqueProjPlane
Fixed oblique projection plane.
Real mFocalLength
Focal length of frustum (for stereo rendering, defaults to 1.0)
bool mCustomViewMatrix
Are we using a custom view matrix?
static const Matrix4 IDENTITY
Standard 2-dimensional vector.
float Real
Software floating point type.
const MovablePlane * mLinkedObliqueProjPlane
Pointer to oblique projection plane (automatically updated)
Class to manage the scene object rendering queue.
Real mOrthoHeight
Ortho height size (world units)
Matrix4 mProjMatrixRSDepth
Pre-calced standard projection matrix but with render system depth range.
bool mRecalcFrustum
Something's changed in the frustum shape?
ProjectionType mProjType
Orthographic or perspective?
static const Real INFINITE_FAR_PLANE_ADJUST
Small constant used to reduce far plane projection to avoid inaccuracies.
bool mRecalcWorldSpaceCorners
Something re the world space corners has changed.
bool mRecalcVertexData
Something re the vertex data has changed.
const MovablePlane * mLinkedReflectPlane
Pointer to a reflection plane (automatically updated)
static String msMovableType
Shared class-level name for Movable type.
Vector3 mLastParentPosition
Defines a plane in 3D space.
Real mAspect
x/y viewport ratio - default 1.3333
bool mRecalcFrustumPlanes
Something re the frustum planes has changed.
OrientationMode
Specifies orientation mode.
Class encapsulating a standard 4x4 homogeneous matrix.
Standard 3-dimensional vector.
Matrix4 mViewMatrix
Pre-calced view matrix.
Visitor object that can be used to iterate over a collection of Renderable instances abstractly...
Radian mFOVy
y-direction field-of-view (default 45)
Real mNearDist
Near clip distance - default 100.
bool mCustomProjMatrix
Are we using a custom projection matrix?
A viewpoint from which the scene will be rendered.
virtual bool isCustomProjectionMatrixEnabled(void) const
Returns whether a custom projection matrix is in use.
This source file is part of OGRE (Object-oriented Graphics Rendering Engine) For the latest info...
FrustumPlane
Worldspace clipping planes.
virtual bool isReflected(void) const
Returns whether this frustum is being reflected.
Plane mLastLinkedReflectionPlane
Record of the last world-space reflection plane info used.
bool mReflect
Is this frustum to act as a reflection of itself?
OrientationMode mOrientationMode
Frustum orientation mode.
Matrix4 mProjMatrixRS
Pre-calced projection matrix for the specific render system.
Real mFarDist
Far clip distance - default 10000.
AxisAlignedBox mBoundingBox
Vector2 mFrustumOffset
Off-axis frustum center offset - default (0.0, 0.0)
'New' rendering operation using vertex buffers.
bool mFrustumExtentsManuallySet
Have the frustum extents been manually set?
bool mObliqueDepthProjection
Is this frustum using an oblique depth projection?
Matrix4 mProjMatrix
Pre-calced standard projection matrix.
virtual const Plane & getReflectionPlane(void) const
Returns the reflection plane of the frustum if appropriate.
A frustum represents a pyramid, capped at the near and far end which is used to represent either a vi...
A 3D box aligned with the x/y/z axes.
Definition of a Plane that may be attached to a node, and the derived details of it retrieved simply...
ProjectionType
Specifies perspective (realistic) or orthographic (architectural) projection.
bool mRecalcView
Something re the view pos has changed.
static const String BLANK
Constant blank string, useful for returning by ref where local does not exist.
Plane mReflectPlane
Fixed reflection plane.
Wrapper class which indicates a given angle value is in Radians.