NNS_G2dDrawSprite*Fast

Syntax

#include <nnsys/g2d/g2d_Softsprite.h>

    void NNS_G2dDrawSpriteFast  
    ( 
        s16 px, s16 py, int pz, 
        int sx, int sy, 
        int U0, int V0, int U1, int V1
    );
    void NNS_G2dDrawSpriteSimpleFast  ( const NNSG2dSimpleSprite* pS );
    void NNS_G2dDrawSpriteBasicFast   ( const NNSG2dBasicSprite* pB );
    void NNS_G2dDrawSpriteExtendedFast( const NNSG2dExtendedSprite* pE );
  

Description

Renders each type of sprite. The contents of the current matrix of the geometry engine are not saved before and after rendering with the NNS_G2dDrawSpriteXXXFast function. Because the push and pop processes of the current matrix stack are not performed, the speed of the operation is increased correspondingly. In particular, if it is not necessary to save the current matrix with each render, more efficient processing becomes possible (Code Example 1).

Code Example 1:

G3_PushMtx();
for( i = 0; i < N; i++ )
{
    G3_Identity();// Or G3_LoadMtx43( &mtx ), etc.
    NNS_G2dDrawSpriteXXXFast();
}
G3_PopMtx(1);   

As indicated in Code Example 2, NNS_G2dDrawSpriteXXX is implemented via NNS_G2dDrawSpriteXXXFast.

Code Example 2:

NNS_G2dDrawSpriteXXX();
{
    G3_PushMtx();
        NNS_G2dDrawSpriteXXXFast();
    G3_PopMtx(1);
}

See Also

NNS_G2dDrawSprite
NNS_G2dDrawSprite*

Revision History

2004/11/10 Initial version.


CONFIDENTIAL