Go to the documentation of this file.
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__
bool mRecalcFrustum
Something's changed in the frustum shape?
bool mRecalcView
Something re the view pos has changed.
Defines a plane in 3D space.
bool mCustomViewMatrix
Are we using a custom view matrix?
A viewpoint from which the scene will be rendered.
Real mNearDist
Near clip distance - default 100.
virtual bool isCustomProjectionMatrixEnabled(void) const
Returns whether a custom projection matrix is in use.
Real mOrthoHeight
Ortho height size (world units)
virtual bool isCustomNearClipPlaneEnabled(void) const
Is a custom near clip plane in use?
const MovablePlane * mLinkedReflectPlane
Pointer to a reflection plane (automatically updated)
Abstract class defining a movable object in a scene.
Radian mFOVy
y-direction field-of-view (default 45)
Definition of a Plane that may be attached to a node, and the derived details of it retrieved simply.
bool mObliqueDepthProjection
Is this frustum using an oblique depth projection?
bool mFrustumExtentsManuallySet
Have the frustum extents been manually set?
virtual const Plane & getReflectionPlane(void) const
Returns the reflection plane of the frustum if appropriate.
ProjectionType mProjType
Orthographic or perspective?
Summary class collecting together vertex source information.
Implementation of a Quaternion, i.e.
Real mFocalLength
Focal length of frustum (for stereo rendering, defaults to 1.0)
static const String BLANK
Constant blank string, useful for returning by ref where local does not exist.
OrientationMode
Specifies orientation mode.
virtual const Matrix4 & getReflectionMatrix(void) const
Returns the reflection matrix of the frustum if appropriate.
Class encapsulating a standard 4x4 homogeneous matrix.
Vector2 mFrustumOffset
Off-axis frustum center offset - default (0.0, 0.0)
bool mReflect
Is this frustum to act as a reflection of itself?
bool mRecalcFrustumPlanes
Something re the frustum planes has changed.
Matrix4 mReflectMatrix
Derived reflection matrix.
static const Matrix4 IDENTITY
virtual bool isCustomViewMatrixEnabled(void) const
Returns whether a custom view matrix is in use.
Wrapper class which indicates a given angle value is in Radians.
bool mCustomProjMatrix
Are we using a custom projection matrix?
A 3D box aligned with the x/y/z axes.
Real mAspect
x/y viewport ratio - default 1.3333
A sphere primitive, mostly used for bounds checking.
Matrix4 mProjMatrixRSDepth
Pre-calced standard projection matrix but with render system depth range.
A frustum represents a pyramid, capped at the near and far end which is used to represent either a vi...
static String msMovableType
Shared class-level name for Movable type.
Matrix4 mProjMatrixRS
Pre-calced projection matrix for the specific render system.
AxisAlignedBox mBoundingBox
const MovablePlane * mLinkedObliqueProjPlane
Pointer to oblique projection plane (automatically updated)
FrustumPlane
Worldspace clipping planes.
Quaternion mLastParentOrientation
Stored versions of parent orientation / position.
bool mRecalcVertexData
Something re the vertex data has changed.
Real mFarDist
Far clip distance - default 10000.
Represents a convex volume bounded by planes.
Plane mLastLinkedObliqueProjPlane
Record of the last world-space oblique depth projection plane info used.
Standard 2-dimensional vector.
Visitor object that can be used to iterate over a collection of Renderable instances abstractly.
Matrix4 mProjMatrix
Pre-calced standard projection matrix.
Abstract class defining the interface all renderable objects must implement.
Plane mLastLinkedReflectionPlane
Record of the last world-space reflection plane info used.
virtual bool isReflected(void) const
Returns whether this frustum is being reflected.
OrientationMode mOrientationMode
Frustum orientation mode.
float Real
Software floating point type.
static const Real INFINITE_FAR_PLANE_ADJUST
Small constant used to reduce far plane projection to avoid inaccuracies.
Vector3 mLastParentPosition
ProjectionType
Specifies perspective (realistic) or orthographic (architectural) projection.
Plane mReflectPlane
Fixed reflection plane.
Plane mObliqueProjPlane
Fixed oblique projection plane.
Standard 3-dimensional vector.
'New' rendering operation using vertex buffers.
Class to manage the scene object rendering queue.
Matrix4 mViewMatrix
Pre-calced view matrix.
bool mRecalcWorldSpaceCorners
Something re the world space corners has changed.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Tue Apr 13 2021 08:53:15