void njRenderTextureNum( n )
Uint32 n
n テクスチャ番号
なし
カレントテクスチャリストのテクスチャ番号n番のテクスチャにレンダリングします。 レンダリングできるテクスチャはNJD_TEXFMT_RECTANGLEまたはNJD_TEXFMT_STRIDEです。 テクスチャ領域が画面より小さい場合、画面の左上からの座標までの領域をレンダリングします。 NJD_TEXFMT_STRIDEの場合、njSetRenderWidth関数でストライド値を設定する必要があります。 ストライド値は通常、レンダリング領域の横サイズです。
- 注意:Ninja2からnjSetTextureName関数へ設定するattrフラグがNJD_TEXATTR_TYPE_MEMORYからNJD_TEXATTR_TYPE_SURFACEに変更されました。(これまでの設定方法もできます)
void UserInit(void) { : /* Reserve texture memory area with dummy */ buff = syMalloc(512*512*2); /* Set color the same as the frame buffer color, and size to 512x512 */ njSetTextureInfo(&info,NULL,NJD_TEXFMT_RECTANGLE|NJD_TEXFMT_RGB_565,512,512); njSetTextureName(&texname[0],&info,0,NJD_TEXATTR_TYPE_SURFACE|NJD_TEXATTR_GLOBALINDEX); nuLoadTexture(&texlist); /* Reserved dummy area can be released after the nuLoadTexture() function */ syFree(buff); } Sint32 UserMain(void) { : /* Draw models etc. */ njCnkSimpleDrawObject( OBJECT ); : njSetTexture(&texlist); /* Renders to the texture number 0 */ njRenderTextureNum(0); /* Draw using rendered textures */ njSetTextureNum(0); njDrawTextureEx( poly, 4, TRUE); : }
テクスチャ領域にレンダリングすると、フレームバッファへの通常のレンダリングと合計2回のレンダリングをかけることになります。
njRenderTextureNumG() グローバルインデックス番号によるテクスチャ領域へのレンダリング