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

njRenderTextureNum

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

書式

void njRenderTextureNum( n ) 
Uint32 n 

引数

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

戻り値

なし

解説

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

用例

void njUserInit(void)
{
 /* レンダテクスチャを使用する場合、njInitSystemの
    フレームバッファのカラーモードとレンダテクスチャで
    使用するテクスチャのカラーモードを合わせる
 */
 njInitSystem( 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,1999