Go to the documentation of this file.
392 {
return mCustomViewMatrix; }
419 {
return mCustomProjMatrix; }
652 {
return mObliqueDepthProjection; }
656 bool debugRenderables =
false);
692 #endif // __Frustum_H__
virtual Real getNearClipDistance(void) const
Sets the position of the near clipping plane.
bool mRecalcFrustum
Something's changed in the frustum shape?
bool mRecalcView
Something re the view pos has changed.
OrientationMode getOrientationMode() const
Get the orientation mode of the frustum.
void setOrientationMode(OrientationMode orientationMode)
Set the orientation mode of the frustum.
virtual void enableReflection(const MovablePlane *p)
Modifies this frustum so it always renders from the reflection of itself through the plane specified.
virtual void setFrustumOffset(Real horizontal=0.0, Real vertical=0.0)
Sets frustum offsets, used in stereo rendering.
virtual void resetFrustumExtents()
Reset the frustum extents to be automatically derived from other params.
PlaneBoundedVolume getPlaneBoundedVolume()
Gets a world-space list of planes enclosing the frustum.
Defines a plane in 3D space.
const String & getMovableType(void) const
Overridden from MovableObject.
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 void setAspectRatio(Real ratio)
Sets the aspect ratio for the frustum viewport.
virtual void updateVertexData(void) const
virtual void updateFrustumPlanesImpl(void) const
Implementation of updateFrustumPlanes (called if out of date)
virtual void calcProjectionParameters(Real &left, Real &right, Real &bottom, Real &top) const
virtual bool isVisible(const AxisAlignedBox &bound, FrustumPlane *culledBy=0) const
Tests whether the given container is visible in the Frustum.
virtual const Plane * getFrustumPlanes(void) const
Retrieves the clipping planes of the frustum (world space).
virtual bool isCustomProjectionMatrixEnabled(void) const
Returns whether a custom projection matrix is in use.
virtual bool isViewOutOfDate(void) const
Real mOrthoHeight
Ortho height size (world units)
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 bool isCustomNearClipPlaneEnabled(void) const
Is a custom near clip plane in use?
void _notifyCurrentCamera(Camera *cam)
Overridden from MovableObject.
const MovablePlane * mLinkedReflectPlane
Pointer to a reflection plane (automatically updated)
virtual Real getAspectRatio(void) const
Retrieves the current aspect ratio.
virtual void calcViewMatrixRelative(const Vector3 &relPos, Matrix4 &matToUpdate) const
Calculate a view matrix for this frustum, relative to a potentially dynamic point.
void getRenderOperation(RenderOperation &op)
Overridden from Renderable.
virtual void enableReflection(const Plane &p)
Modifies this frustum so it always renders from the reflection of itself through the plane specified.
virtual void disableCustomNearClipPlane(void)
Disables any custom near clip plane.
virtual void invalidateFrustum(void) const
Signal to update frustum information.
Abstract class defining a movable object in a scene.
Radian mFOVy
y-direction field-of-view (default 45)
virtual const Quaternion & getOrientationForViewUpdate(void) const
Get the derived orientation of this frustum.
virtual const Radian & getFOVy(void) const
Retrieves the frustums Y-dimension Field Of View (FOV).
const MaterialPtr & getMaterial(void) const
Overridden from Renderable.
virtual const Vector3 & getPositionForViewUpdate(void) const
Get the derived position of this frustum.
virtual bool isVisible(const Sphere &bound, FrustumPlane *culledBy=0) const
Tests whether the given container is visible in the Frustum.
virtual const Matrix4 & getViewMatrix(void) const
Gets the view matrix for this frustum.
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?
virtual const Vector3 * getWorldSpaceCorners(void) const
Gets the world space corners of the frustum.
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.
uint32 getTypeFlags(void) const
Overridden from MovableObject::getTypeFlags.
virtual void updateViewImpl(void) const
Implementation of updateView (called if out of date)
Class encapsulating a standard 4x4 homogeneous matrix.
Vector2 mFrustumOffset
Off-axis frustum center offset - default (0.0, 0.0)
virtual const Matrix4 & getProjectionMatrixRS(void) const
Gets the projection matrix for this frustum adjusted for the current rendersystem specifics (may be r...
const LightList & getLights(void) const
Overridden from Renderable.
virtual void setCustomViewMatrix(bool enable, const Matrix4 &viewMatrix=Matrix4::IDENTITY)
Set whether to use a custom view matrix on this frustum.
bool mReflect
Is this frustum to act as a reflection of itself?
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 ...
bool mRecalcFrustumPlanes
Something re the frustum planes has changed.
virtual bool isVisible(const Vector3 &vert, FrustumPlane *culledBy=0) const
Tests whether the given vertex is visible in the Frustum.
Matrix4 mReflectMatrix
Derived reflection matrix.
virtual void setOrthoWindow(Real w, Real h)
Sets the orthographic window settings, for use with orthographic rendering only.
Real getBoundingRadius(void) const
Overridden from MovableObject.
void getWorldTransforms(Matrix4 *xform) const
Overridden from Renderable.
virtual bool isFrustumOutOfDate(void) const
virtual Real getOrthoWindowHeight() const
Gets the orthographic window height, for use with orthographic rendering only.
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.
virtual void setProjectionType(ProjectionType pt)
Sets the type of projection to use (orthographic or perspective).
virtual Real getFocalLength() const
Returns focal length of frustum.
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 ...
virtual const Matrix4 & getProjectionMatrix(void) const
Gets the normal projection matrix for this frustum, ie the projection matrix which conforms to standa...
Frustum(const String &name=StringUtil::BLANK)
Named constructor.
virtual void updateWorldSpaceCornersImpl(void) const
Implementation of updateWorldSpaceCorners (called if out of date)
bool mCustomProjMatrix
Are we using a custom projection matrix?
A 3D box aligned with the x/y/z axes.
const AxisAlignedBox & getBoundingBox(void) const
Overridden from MovableObject.
Real mAspect
x/y viewport ratio - default 1.3333
void _updateRenderQueue(RenderQueue *queue)
Overridden from MovableObject.
void visitRenderables(Renderable::Visitor *visitor, bool debugRenderables=false)
Method to allow a caller to abstractly iterate over the Renderable instances that this MovableObject ...
A sphere primitive, mostly used for bounds checking.
Matrix4 mProjMatrixRSDepth
Pre-calced standard projection matrix but with render system depth range.
virtual ProjectionType getProjectionType(void) const
Retrieves info on the type of projection used (orthographic or perspective).
A frustum represents a pyramid, capped at the near and far end which is used to represent either a vi...
virtual void updateFrustum(void) const
Update frustum if out of date.
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.
virtual void setNearClipDistance(Real nearDist)
Sets the position of the near clipping plane.
Quaternion mLastParentOrientation
Stored versions of parent orientation / position.
bool mRecalcVertexData
Something re the vertex data has changed.
virtual void disableReflection(void)
Disables reflection modification previously turned on with enableReflection.
Real mFarDist
Far clip distance - default 10000.
Represents a convex volume bounded by planes.
virtual void setFrustumOffset(const Vector2 &offset)
Sets frustum offsets, used in stereo rendering.
Real getSquaredViewDepth(const Camera *cam) const
Overridden from Renderable.
Plane mLastLinkedObliqueProjPlane
Record of the last world-space oblique depth projection plane info used.
virtual void setFarClipDistance(Real farDist)
Sets the distance to the far clipping plane.
Standard 2-dimensional vector.
virtual void setFOVy(const Radian &fovy)
Sets the Y-dimension Field Of View (FOV) of the frustum.
Visitor object that can be used to iterate over a collection of Renderable instances abstractly.
Matrix4 mProjMatrix
Pre-calced standard projection matrix.
virtual const Matrix4 & getProjectionMatrixWithRSDepth(void) const
Gets the depth-adjusted projection matrix for the current rendersystem, but one which still conforms ...
virtual void setOrthoWindowWidth(Real w)
Sets the orthographic window width, for use with orthographic rendering only.
virtual const Vector2 & getFrustumOffset() const
Retrieves the frustum offsets.
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.
virtual void getFrustumExtents(Real &outleft, Real &outright, Real &outtop, Real &outbottom) const
Get the extents of the frustum in view space.
OrientationMode mOrientationMode
Frustum orientation mode.
float Real
Software floating point type.
virtual void updateWorldSpaceCorners(void) const
virtual void updateFrustumPlanes(void) const
static const Real INFINITE_FAR_PLANE_ADJUST
Small constant used to reduce far plane projection to avoid inaccuracies.
virtual void setCustomProjectionMatrix(bool enable, const Matrix4 &projectionMatrix=Matrix4::IDENTITY)
Set whether to use a custom projection matrix on this frustum.
virtual void setFocalLength(Real focalLength=1.0)
Sets frustum focal length (used in stereo rendering).
virtual void setFrustumExtents(Real left, Real right, Real top, Real bottom)
Manually set the extents of the frustum.
virtual void setOrthoWindowHeight(Real h)
Sets the orthographic window height, for use with orthographic rendering only.
Vector3 mLastParentPosition
ProjectionType
Specifies perspective (realistic) or orthographic (architectural) projection.
virtual void invalidateView(void) const
Signal to update view information.
Plane mReflectPlane
Fixed reflection plane.
virtual Real getFarClipDistance(void) const
Retrieves the distance from the frustum to the far clipping plane.
Plane mObliqueProjPlane
Fixed oblique projection plane.
Standard 3-dimensional vector.
'New' rendering operation using vertex buffers.
virtual Real getOrthoWindowWidth() const
Gets the orthographic window width, for use with orthographic rendering only.
virtual void updateFrustumImpl(void) const
Implementation of updateFrustum (called if out of date)
Class to manage the scene object rendering queue.
Matrix4 mViewMatrix
Pre-calced view matrix.
virtual const Plane & getFrustumPlane(unsigned short plane) const
Retrieves a specified plane of the frustum (world space).
bool mRecalcWorldSpaceCorners
Something re the world space corners has changed.
virtual void updateView(void) const
Update view if out of date.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.