#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 );
Renders each type of sprite. The contents of the current matrix of the geometry engine will not be saved before and after rendering with the NNS_G2dDrawSpriteXXXFast() function. Since the Push and Pop processes of the current matrix stack are not performed, only that part will operate at a high speed. In particular, if it is not necessary to save each time the current matrix is rendered, 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);
NNS_G2dDrawSpriteXXX() is implemented via NNS_G2dDrawSpriteXXXFast() (Code Example 2).
Code Example 2:
NNS_G2dDrawSpriteXXX();
{
G3_PushMtx();
NNS_G2dDrawSpriteXXXFast();
G3_PopMtx(1);
}
NNS_G2dDrawSprite, NNS_G2dDrawSprite*
11/10/2004 Initial version.
CONFIDENTIAL