# NNS_G2dDrawOneOam3DDirectUsingParamCacheFast

## Syntax

      #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. Configure 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 large numbers of sprites that reference an identical texture, perform an efficient rendering process by calculating and configuring the UV value only once.
Note that with this function, the OAM flip flag is ignored. (The UV parameters are determined when the `NNS_G2dSetOamSoftEmuSpriteParamCache` function is executed.)
When rendering a flipped sprite, a flip-configured OAM (`GXOamAttr`) must be passed as an argument of the `NNS_G2dSetOamSoftEmuSpriteParamCache` function, 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

2004/11/10 Initial version.

CONFIDENTIAL