guFrustumF

guFrustumF [Function]

Function

guFrustumF

Creates a frustum (perspective projection) projection matrix (floating point)

Syntax

#include <ultra64.h>        /* gu.h */
void guFrustumF(
        float mf[4][4],
        float l,
        float r,
        float b,
        float t,
        float n,
        float f,
        float scale);

Arguments

mf
Pointer to 4x4 matrix resulting from calculation
l
Near plane's lower-left x coordinate
r
Near plane's upper-right x coordinate
b
Near plane's lower-left y coordinate
t
Near plane's upper-right y coordinate
n
Distance from viewpoint to near clipping plane
f
Distance from viewpoint to far clipping plane
scale
Scale for matrix elements
* Can be used to ensure the significant number of digits for RSP fixed-point computations.

Returned value

None

Description

Returns the frustum projection matrix to mf. The result of calling this function is the creation of a projection matrix like the one shown below:

The near clipping plane is a rectangle with the the lower-left vertex at (l, b, -n) and the upper-right vertex at (r, t, -n). Near and far (n and f) must both be positive values. The arguments may appear the same as for guOrthoF, but they have different meanings. This function specifies the viewable region of the perspective transformation (the viewing volume), which is shaped like a square-based pyramid with its top cut off. However, the function is not a very practical way to make the specifications for a perspective projection. Normally you would use guPerspectiveF to make the settings for a perspective projection. The function guFrustum is available for handling fixed point.

See also

guFrustum, guLookAt, guLookAtF, guOrtho, guOrthoF, guPerspective, and guPerspectiveF

Revision history

03/01/99 Completely rewritten.