**Function**

gSPPerspNormalize

*Normalizes the perspective projection*

**Syntax**

```
#include <ultra64.h> /* gbi.h */
gSPPerspNormalize(Gfx *gdl, u16 scale)
gsSPPerspNormalize( u16 scale)
```

**Arguments**

**gdl**- the pointer to the display list.
**scale**- the scale value (.16) for normalizing the perspective projection matrix.

**Description**

Normalizes the perspective projection. The scale value (**scale**) is used to scale down the transformed w-coordinate value before dividing it out to calculate the screen coordinates (in which case the screen coordinates are scaled in the same proportion). The purpose of this scaling process is to maximize the precision of divisions (restricted to inside the RSP geometry engine). For details, see Section 11.3, "Matrix State," in the N64 Online Programming Manual and Part 3, "Coordinate transformation and matrix" in the N64 Kantan Manual.

**Note**

Calling guPerspective returns a suitable approximate value for the scale value. This rough estimate normalizes w = 1.0 (between the near plane and far plane). This approximate value is used in almost all cases.

**See Also**

**Revision History**

02/01/99 Entirely revised.