N64® Functions Menu

al - Audio Library Functions
gDP - DP GBI Macros
gdSP - General GBI Macros
gSP - SP GBI Macros
gt - Turbo Microcode RDP
gu - Graphics Utilities
Math - Math Functions
nuSys - NuSystem
os - N64 Operating System
sp - Sprite Library Functions
uh - Host to Target IO
64DD - N64 Disk Drive

Nintendo® Confidential

## gSPPerspNormalize [macro]

Normalizes the perspective projection.

Syntax

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

Arguments

- gdl is the pointer to the graphics display list.

- scale is the scale value (.16) for normalizing the perspective projection matrix.

Explanation
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, "N64 3D Graphics" in the N64 Introductory Manual.

Notes
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
guPerspective

Revision History
2/1/1999 Completely rewritten

Nintendo® Confidential Warning: all information in this document is confidential and covered by a non-disclosure agreement. You are responsible for keeping this information confidential and protected. Nintendo will vigorously enforce this responsibility.
Copyright © 1998-1999
Nintendo of America Inc. All rights reserved
Nintendo and N64 are registered trademarks of Nintendo
Last updated March 1999