NNS_G2dDrawSprite*Fast

構文

#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 );
  

説明

各種スプライトを描画します。
NNS_G2dDrawSpriteXXXFast()関数は、描画の前後でジオメトリエンジンのカレント行列の内容が保存されません。
カレント行列スタックのPush,Pop処理を行わないので、その分だけ高速に動作します。
特に、カレント行列を描画毎に保存する必要がない場合などに、効率的な処理を行うことが可能となります(コード例1)。

コード例1:

G3_PushMtx();
for( i = 0; i < N; i++ )
{
    G3_Identity();// もしくは、G3_LoadMtx43( &mtx ) など
    NNS_G2dDrawSpriteXXXFast();
}
G3_PopMtx(1);   

NNS_G2dDrawSpriteXXX()は以下のコード例で示すように、 NNS_G2dDrawSpriteXXXFast()によって実装されています(コード例2)。

コード例2:

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

参照

NNS_G2dDrawSprite
NNS_G2dDrawSprite*

履歴

2004/11/10 初版