G3*_RestoreMatrix

# G3*_RestoreMtx

## C Specification

      #include <nitro/gx/g3imm.h>
      #include <nitro/gx/g3b.h>
      #include <nitro/gx/g3c.h>

      void G3_RestoreMtx( u32 num );

      // Below are APIs for creating the display list (command list)
      void G3B_RestoreMtx(GXDLInfo* info, int num);
      void G3C_RestoreMtx(GXDLInfo* info, int num);
      void G3BS_RestoreMtx(GXDLInfo* info, int num);
      void G3CS_RestoreMtx(GXDLInfo* info, int num);

## Arguments

info | Command List Information
num | Matrix stack index (0-30, the projection matrix is always 0)

## Return Values

None.

## Description

This reads the matrix from the specified position of the stack. The value of `num` from the matrix stack is set up as the specified matrix in matrix mode. When the matrix mode is set to Projection, there is only one level in the stack, so `num` is reset to 0 regardless of the value. The coordinate stack pointer moved by either the `PushMatrix` or `PopMatrix` command is not changed by this command. Because the position coordinate matrix stack and the directional vector matrix are connected, operations are performed on both stacks when the Matrix mode is set to either Position or Position-Vector simultaneous set mode.

## See Also

`G3*_MtxMode, G3*_Identity, G3*_LoadMtx43, G3*_LoadMtx44, G3*_MultMtx43, G3*_MultMtx44, G3*_MultMtx33, G3*_PushMtx, G3*_PopMtx, G3*_StoreMtx, G3*_Scale, G3*_Translate`

## Revision History

01/19/2004 Initial version