# Geometry Command Functions

## An Overview of the Functions

`NNS_G3dGe`* Functions | Corresponding NITRO-SDK API | Comments
--- | --- | ---
NNS_G3dGeMtxMode | G3*_MtxMode |
NNS_G3dGePushMtx | G3*_PushMtx |
NNS_G3dGePopMtx | G3_PopMtx |
NNS_G3dGeStoreMtx | G3*_StoreMtx |
NNS_G3dGeRestoreMtx | G3_RestoreMtx |
NNS_G3dGeIdentity | G3*_Identity |
NNS_G3dGeLoadMtx44 | G3_LoadMtx44 |
NNS_G3dGeLoadMtx43 | G3_LoadMtx43 |
NNS_G3dGeMultMtx44 | G3_MultMtx44 |
NNS_G3dGeMultMtx43 | G3_MultMtx43 |
NNS_G3dGeMultMtx33 | G3_MultMtx33 |
NNS_G3dGeScale | G3_Scale |
NNS_G3dGeScaleVec | `G3_Scale`) | The argument is not handled as three `fx32` types, but as one `VecFx32` type.
NNS_G3dGeTranslate | G3*_Translate |
NNS_G3dGeTranslateVec | `G3_Translate`) | The argument is not handled as three `fx32` types, but as one `VecFx32` type.
NNS_G3dGeColor | G3*_Color |
NNS_G3dGeNormal | G3_Normal |
NNS_G3dGeTexCoord | G3*_TexCoord |
NNS_G3dGeVtx | G3*_Vtx |
NNS_G3dGeVtx10 | G3*_Vtx10 |
NNS_G3dGeVtxXY | G3*_VtxXY |
NNS_G3dGeVtxXZ | G3*_VtxXZ |
NNS_G3dGeVtxYZ | G3*_VtxYZ |
NNS_G3dGeVtxDiff | G3*_VtxDiff |
NNS_G3dGePolygonAttr | G3*_PolygonAttr |
NNS_G3dGeTexImageParam | G3*_TexImageParam |
NNS_G3dGeTexPlttBase | G3*_TexPlttBase |
NNS_G3dGeMaterialColorDiffAmb | G3*_MaterialColorDiffAmb |
NNS_G3dGeMaterialColorSpecEmi | G3_MaterialColorSpecEmi |
NNS_G3dGeLightVector | G3_LightVector |
NNS_G3dGeLightColor | G3_LightColor |
NNS_G3dGeShininess | G3*_Shininess |
NNS_G3dGeBegin | G3_Begin |
NNS_G3dGeEnd | G3_End |
NNS_G3dGeViewPort | G3*_ViewPort |
NNS_G3dGeBoxTest | G3_BoxTest |
NNS_G3dGePositionTest | G3_PositionTest |
NNS_G3dGeVectorTest | G3_VectorTest |

## Description

These functions issue the geometry commands via the `NNS_G3dGeBufferOP_N` function.

The arguments and operation of each function are the same as the NITRO-SDK API. The only difference from NITRO-SDK API is that the potential conflicts with GXDMA transfers are avoided because the `NNS_G3dGeBufferOP_N` function stores data in the command buffer if a GXDMA function transfer is taking place. Otherwise, it writes directly to the geometry engine.

## See Also

`NNS_G3dGeBufferOP_N`

## Revision History

08/02/2004 Initial version.