# G3_Ortho

## C Specification

      #include <nitro/gx/g3_util.h>

      void G3_Ortho(
          fx32 t,
          fx32 b,
          fx32 l,
          fx32 r,
          fx32 n,
          fx32 f,
          MtxFx44* mtx
      );

## Arguments

t | Y coordinate at the top of the near clipping plane
`b` | Y coordinate at the bottom of the near clipping plane
l | X coordinate at the left of the near clipping plane
r | X coordinate at the right of the near clipping plane
n | Distance from eyepoint to the `near` clip plane
f | Distance from eyepoint to the `far` clip plane
mtx | The pointer to a 4x4 matrix.

## Return Values

None.

## Description

This function sets the Matrix mode to the Projection mode. This function also sets the Orthogonal Projection matrix as the current matrix. If `mtx` is not `NULL`, then the Orthogonal Projection matrix is also set in *`mtx`. The diagram shows the matrix that is set.

Note: When setting the matrix for an orthogonal projection, it will be necessary to select Z-buffering with the `G3*_SwapBuffers`. W buffering will not function properly because the depth value will always be fixed.

The divider is used internally. Refer to Divider Usage Notes when using this function inside an interrupt.

## See Also

`G3_OrthoW, G3_Frustum, G3_Perspective`

## Revision History

02/09/2004

- Added a note

01/19/2004 Initial version

CONFIDENTIAL