Back to class index
Frustum[Class Summary]
horizontalFov
orthographicWidth
verticalFov
orthographicHeight
ctor
SetKind(...)
SetViewPlaneDistances(...)
SetFrame(pos,front,up)
SetPos(pos)
SetFront(front)
SetUp(up)
SetPerspective(...)
SetOrthographic(...)
Handedness()[const]
Type()[const]
ProjectiveSpace()[const]
Pos()[const]
Front()[const]
Up()[const]
NearPlaneDistance()[const]
FarPlaneDistance()[const]
HorizontalFov()[const]
VerticalFov()[const]
OrthographicWidth()[const]
OrthographicHeight()[const]
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]
ComputeWorldMatrix()[const]
ViewMatrix()[const]
ComputeViewMatrix()[const]
ProjectionMatrix()[const]
ComputeProjectionMatrix()[const]
ViewProjMatrix()[const]
ComputeViewProjMatrix()[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::Project

Syntax

float4 Frustum::Project(const float4 &point) const; [6 lines of code]

Projects the given point onto the near plane of this frustum.

The (x,y) component of the returned vector gives the normalized viewport coordinates of the point on the near plane. The z component gives the normalized depth of the point. If the point is inside the frustum, x and y are in the range [-1, 1] and z is in the range [0, 1]. If the point was behind the near plane, z will return a negative value. If the point lies exactly on the near plane, z==0 will be returned. If the point lies exactly on the far plane, z==1 will be returned, and if a z>1 is returned, the given point was outside the far plane of this Frustum.

Parameters

const float4 &pointA point in world space to project onto the near plane of this frustum.

Return Value

The normalized 2D (x,y) coordinate of the given point projected onto the near plane of this Frustum. The z coordinate specifies the normalized (linear) depth of the projected point.