Ninjaライブラリ - テクスチャ関数

njRenderTextureNum

テクスチャ領域へのレンダリング

書式

void njRenderTextureNum( n )
Uint32 n

引数

nカレントテクスチャリストのテクスチャ番号

戻値

なし

解説

カレントテクスチャリストのテクスチャ番号n番のテクスチャにレンダリングします。 レンダリングできるテクスチャはNJD_TEXFMT_RECTANGLEまたはNJD_TEXFMT_STRIDEです。 テクスチャ領域が画面より小さい場合、画面の左上からの座標までの領域をレンダリングします。 NJD_TEXFMT_STRIDEの場合、njSetRenderWidth関数でストライド値を設定する必要があります。 ストライド値は通常、レンダリング領域の横サイズです。

用例

void njUserInit(void)
{
 /* レンダテクスチャを使用する場合、njInitSystemのフレームバッファの
   カラーモードとレンダテクスチャで使用するテクスチャのカラーモード
   を合わせる
 */
 sbInitSystem( NJD_RESOLUTION_640x480_NTSCNI, NJD_FRAMEBUFFER_MODE_RGB565, 1 );
	:
 /* とりあえずテクスチャのメモリ領域をダミーで確保する */
 buff = syMalloc(512*512*2);
 /* フレームバッファのカラーと合わせる。サイズは512x512とする。 */
 njSetTextureInfo(&info,buff,NJD_TEXFMT_RECTANGLE|NJD_TEXFMT_RGB_565,512,512);
 njSetTextureName(&texname[0],&info,0,NJD_TEXATTR_TYPE_MEMORY|
             NJD_TEXATTR_GLOBALINDEX);
 njInitTexture( tex, 100 );
 njLoadTexture(&texlist);
 
 /* ダミーで確保した領域はnjLoadTexture後は開放してもよい */
 syFree(buff);
}
Sint32 njUserMain(void)
{
	:
 
 /* モデルなどを描画する */
 njDrawObject( OBJECT );
	:
 
 njSetTexture(&texlist);
 /* テクスチャ番号0にレンダリングする */
 njRenderTextureNum(0);
 /* レンダリングしたテクスチャを使用して描画する */
 njDrawTexture( poly, 4, 0,TRUE);
 
	:
}

備考

テクスチャ領域にレンダリングすると、フレームバッファへの通常のレンダリングと合計2回のレンダリングをかけることになります。 詳しくは、テクスチャドキュメントを参照してください。

参照

njRenderTextureNumG()

njRenderTextureNum
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998