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

   

gSPZSetLookAt

Format
gSPZSetLookAt(Gfx *gp, u32 umem,
   u32 lnum, LookAt *lookat)
Arguments
  • gp is the pointer to the graphics display list
  • umem is the starting address for the light data protection area
  • lnum is the number of defuse lights
  • lookat is the pointer to the LookAt structure
What This Macro Does
This Z-Sort microcode GBI macro writes the LookAt structure data that constitutes the parameter for environment mapping to the light data area. The light data area is protected in advance in the user area. See the explanation for gSPZSetAmbient for further details.

Z-Sort microcode supports TEX_GEN_LINEAR in the TEX_GEN and TEX_GEN_LINEAR processing modes of the Fast3D-compatible microcode for environment map processing. It is already set up for TEX_GEN processing.

Although the functions guLookAtReflect and guLookAtHilite in the gu library of the N64 OS can be used to set the LookAt structure, part of it differs from Z-Sort. The macro guZFixLookAt is available. Use guZFixLookAt after setting the LookAt structure by using the library functions.

The guFixLookAt is defined in gZ-Sort.h as shown here:

#define guZFixLookAt(lp)
{ (lp)->l[1].l.col[1] = (lp)->l[1].l.colc[1]1 = 0x00; }


Two elements have been cleared to 0. (0x80 has been assigned by the gu library.) If you want to optimize your processing time, refer to the source file of the gu library function in the N64 OS under the /libultra/gu directory in the libultra sample program, to correct and replace the library function.

For detailed information on Z-Sort microcode's GBI macros and data structures, please see the "Z-Sort Microcode" area of the N64 Programming Manual.

See Also
Z-Sort Microcode
gSPZRdpCmd
gSPZSetUMem
gSPZGetUMem
gSPZSetMtx
gSPZGetMtx
gSPZMtxCat
gSPZMtxTrnsp3x3
gSPZViewPort
gSPZMultMPMtx
gSPZSetAmbient
gSPZSetDefuse
gSPZSetLookAt
gSPZXfmLights
gSPZLight
gSPZLightMaterial
gSPZMixS16
gSPZMixS8
gSPZMixU8
gSPZSegment
gSPZSetSubDL
gSPZLinkSubDL
gSPZSendMessage
gSPZWaitSignal
gSPZSegment
gSPZPerspNormalize



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
Nintendo of America Inc. All rights reserved
Nintendo and N64 are registered trademarks of Nintendo
Last updated January 1998