Back to class index
Frustum[Class Summary]
type
projectiveSpace
handedness
pos
front
up
nearPlaneDistance
farPlaneDistance
horizontalFov
orthographicWidth
verticalFov
orthographicHeight
ctor
NumEdges()[const]
AspectRatio()[const]
SetHorizontalFovAndAspectRatio(...)
SetVerticalFovAndAspectRatio(...)
WorldRight()[const]
NearPlane()[const]
NearPlaneWidth()[const]
NearPlaneHeight()[const]
FarPlane()[const]
Left/Right/Top/BottomPlane()[const]
GetPlane(faceIndex)[const]
GetPlanes(outArray)[const]
CenterPoint()[const]
Edge(edgeIndex)[const]
CornerPoint(cornerIndex)[const]
GetCornerPoints(outPointArray)[const]
AnyPointFast()[const]
ExtremePoint(direction)[const] (+1 overload)
ProjectToAxis(...)[const]
UniqueFaceNormals(out)[const]
UniqueEdgeDirections(out)[const]
SetWorldMatrix(worldTransform)
WorldMatrix()[const]
ViewMatrix()[const]
ProjectionMatrix()[const]
ViewProjMatrix()[const]
UnProject(x,y)[const] (+1 overload)
UnProjectFromNearPlane(x,y)[const]
UnProjectLineSegment(x,y)[const]
PointInside(x,y,z)[const] (+1 overload)
Project(point)[const]
NearPlanePos(x,y)[const] (+1 overload)
FarPlanePos(x,y)[const] (+1 overload)
IsFinite()[const]
Volume()[const]
FastRandomPointInside(rng)[const]
UniformRandomPointInside(rng)[const]
Translate(offset)
Transform(transform) (+3 overloads)
MinimalEnclosingAABB()[const]
MinimalEnclosingOBB(expandGuardband)[const]
ToPolyhedron()[const]
ToPBVolume()[const]
Contains(point)[const] (+7 overloads)
ClosestPoint(point)[const]
Distance(point)[const]
Intersects(ray)[const] (+11 overloads)
ToString()[const]
SerializeToString()[const]
ViewportToScreenSpace(...)[static] (+1 overload)
ScreenToViewportSpace(...)[static] (+1 overload)

Frustum::nearPlaneDistance

Syntax

float Frustum::nearPlaneDistance; [1 line of code]

Distance from the eye point to the front plane.

This parameter must be positive. If perspective projection is used, this parameter must be strictly positive (0 is not allowed). If orthographic projection is used, 0 is possible (but uncommon, and not recommended). When using the Frustum class to derive perspective projection matrices for a GPU, it should be noted that too small values cause poor resolution of Z values near the back plane in post-perspective space, if non-linear depth is used (which is common). The larger this value is, the more resolution there is for the Z values across the depth range. Too large values cause clipping of geometry when they come very near the camera.

Syntax

float Frustum::farPlaneDistance; [1 line of code]

Distance from the eye point to the back plane of the projection matrix.

This parameter must be strictly greater than nearPlaneDistance. The range [nearPlaneDistance, farPlaneDistance] specifies the visible range of objects inside the Frustum. When using the Frustum class for deriving perspective projection matrix for GPU rendering, it should be remembered that any geometry farther from the camera (in Z value) than this distance will be clipped from the view, and not rendered.