# NNS_G2dDrawOneOam3DDirectUsingParamCacheFast

## C Specification

      #include <nnsys/g2d/g2d_OamSoftwareSpriteDraw.h>

      void NNS_G2dDrawOneOam3DDirectUsingParamCacheFast(
          (
              s16                             posX,
              s16                             posY,
              s16                             posZ,
              const GXOamAttr*                pOam
          );

## Arguments

posX | [IN] X position
posY | [IN] Y position
posZ | [IN] Z position
pOam | [IN] OAM attribute

## Return Values

None.

## Description

Sprite-renders the OAM using the cache of the parameter (the UV parameter). Configure the cache parameter before executing this function. Execute the cache parameter using the NNS_G2dSetOamSoftEmuSpriteParamCache() function. The current matrix of the 3D graphics engine is not saved before or after the function is called.
When writing sprites that reference identical textures in large volume, an efficient rendering process can be performed by calculating and configuring the UV value only once.
Be aware that with this function, the OAM flip flag will be ignored. (The UV parameters are determined when the `NNS_G2dSetOamSoftEmuSpriteParamCache()` function is executed.)
When rendering the flipped sprite, the flip-configured OAM (`GXOamAttr`) must be passed as an argument of `NNS_G2dSetOamSoftEmuSpriteParamCache()`, and the cache parameter must be updated.

    NNS_G2dDrawOneOam3DDirectUsingParamCache() Rendering
    Process = UV Parameter Setting x 1 + Render x N
    Normal Rendering
    Process = ( UV Parameter Setting + Render) x N

## See Also

`NNS_G2dSetOamSoftEmuSpriteParamCache
`

## Revision History

11/10/2004 Initial version.