# Geometry Command Cycle

Command Name | Corresponding API | Number of Execution Cycles (33 MHz conversion) | Comments
--- | --- | --- | ---
`G3OP_MTX_MODE` | `G3*_MtxMode` | 1 |
`G3OP_MTX_PUSH` | `G3*_PushMtx` | 17 |
`G3OP_MTX_POP` | `G3*_PopMtx` | 36 |
`G3OP_MTX_STORE` | `G3*_StoreMtx` | 17 |
`G3OP_MTX_RESTORE` | `G3*_RestoreMtx` | 36 |
`G3OP_MTX_IDENTITY` | `G3*_Identity` | 19 |
`G3OP_MTX_LOAD_4x4` | `G3*_LoadMtx44` | 34 |
`G3OP_MTX_LOAD_4x3` | `G3*_LoadMtx43` | 30 |
`G3OP_MTX_MULT_4x4` | `G3*_MultMtx44` | 35 | 65 in Position&Vector mode
`G3OP_MTX_MULT_4x3` | `G3*_MultMtx43` | 31 | 61 in Position&Vector mode
`G3OP_MTX_MULT_3x3` | `G3*_MultMtx33` | 28 | 58 in Position&Vector mode
`G3OP_MTX_SCALE` | `G3*_Scale` | 22 |
`G3OP_MTX_TRANS` | `G3*_Translate` | 22 | 52 in Position&Vector mode
`G3OP_COLOR` | `G3*_Color` | 1 |
`G3OP_NORMAL` | `G3*_Normal` | 9-12 | Increases according to the number of lights.
`G3OP_TEXCOORD` | `G3*_TexCoord` | 1 |
`G3OP_VTX_16` | `G3*_Vtx` | 9 |
`G3OP_VTX_10` | `G3*_Vtx10` | 8 |
`G3OP_VTX_XY` | `G3*_VtxXY` | 8 |
`G3OP_VTX_XZ` | `G3*_VtxXZ` | 8 |
`G3OP_VTX_YZ` | `G3*_VtxYZ` | 8 |
`G3OP_VTX_DIFF` | `G3*_VtxDiff` | 8 |
`G3OP_POLYGON_ATTR` | `G3*_PolygonAttr` | 1 |
`G3OP_TEXIMAGE_PARAM` | `G3*_TexImageParam` | 1 |
`G3OP_TEXPLTT_BASE` | `G3*_TexPlttBase` | 1 |
`G3OP_DIF_AMB` | `G3*_MaterialColorDiffAmb` | 4 |
`G3OP_SPE_EMI` | `G3*_MaterialColorSpecEmi` | 4 |
`G3OP_LIGHT_VECTOR` | `G3*_LightVector` | 6 |
`G3OP_LIGHT_COLOR` | `G3*_LightColor` | 1 |
`G3OP_SHININESS` | `G3*_Shininess` | 32 |
`G3OP_BEGIN` | `G3*_Begin` | 1 |
`G3OP_END` | `G3*_End` | 1 |
`G3OP_SWAP_BUFFERS` | `G3*_SwapBuffers` | 392 |
`G3OP_VIEWPORT` | `G3*_ViewPort` | 1 |
`G3OP_BOX_TEST` | `G3*_BoxTest` | 103 |
`G3OP_POS_TEST` | `G3*_PositionTest` | 9 |
`G3OP_VEC_TEST` | `G3*_VectorTest` | 5 |

## Revision History

01/19/2004 Initial Version