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

Syntax

Ray Frustum::UnProject(float x, float y) const; [14 lines of code]
Ray Frustum::UnProject(const float2 &xy) const; [1 lines of code]

Finds a ray in world space that originates at the eye point and looks in the given direction inside the frustum.

The (x,y) coordinate specifies the normalized viewport coordinate through which the ray passes. Both x and y must be in the range [-1,1]. Specifying (-1, -1) returns the bottom-left corner of the near plane. The point (1, 1) corresponds to the top-right corner of the near plane.