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::pos

Syntax

vec Frustum::pos; [1 line of code]

The eye point of this frustum.

Specifies the position of the camera (the eye point) for this frustum in world (global) space.

Syntax

vec Frustum::front; [1 line of code]

The normalized direction this frustum is watching towards.

This vector is specified in world (global) space. This vector is always normalized. If you assign to this member directly, be sure to only assign normalized vectors.

Syntax

vec Frustum::up; [1 line of code]

The normalized up direction for this frustum.

This vector is specified in world (global) space. This vector is always normalized. If you assign to this member directly, be sure to only assign normalized vectors.

Note
The vectors front and up must always be perpendicular to each other. This means that this up vector is not a static/constant up vector, e.g. (0,1,0), but changes according to when the camera pitches up and down to preserve the condition that front and up are always perpendicular. In the local space of the Frustum, the direction +Y is always the up direction and cannot be changed. This coincides to how Direct3D and OpenGL view and projection matrices are constructed.