guFrustumF

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

```
#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);
```

**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.

None

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.

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

03/01/99 Completely rewritten.