Ninjaライブラリ - 描画関数

njDrawTexture

テクスチャポリゴンの描画

書式

void njDrawTexture( *polygon, count, tex, trans ) 
NJS_TEXTURE_VTX *polygon 
Int count 
Int tex 
Int trans 

引数

*polygon   NJS_TEXTURE_VTX構造体のポインタ
count   頂点数
tex   テクスチャのグローバルインデックス
trans   半透明有効(TRUE)、半透明無効(FALSE)

戻り値

なし

解説

テクスチャポリゴンを描画します。頂点はストリップ形式にcount数ぶん入れます。 この関数を使用する前に、テクスチャの初期化、ロード、セットテクスチャが必要になります。 テクスチャまたはカラーに半透明を使用する場合はtransをTRUEに、半透明を使用しない場合はFALSEにしてください。 他の描画関数のZ座標とは次の関係があります。

Z=1/(−z)

z:他の描画関数の座標(−65536.f<z<0.f)

従ってZの有効範囲は1.0f〜無限大です。


用例

四角形を描画する。
頂点の順は次のようになります。
1 3
2 4
NJS_TEXNAME texname[1];
NJS_TEXLIST texlist ={texname,1};
NJS_TEXMEMLIST tex[1];
NJS_TEXTURE_VTX poly[4];
Sint8 *texbuf
/* テクスチャの初期設定 */
njInitTexture(tex,1);
texbuf = syMalloc(0x20800);
njInitTextureBuffer(texbuf,0x20800);
njSetTextureName(&texname[0],"file0.pvr",0,
	NJD_TEXATTR_TYPE_FILE | NJD_TEXATTR_GLOBALINDEX);
njLoadTexture(&;texlist);
syFree(texbuf);
njSetTexture(&texlist);
poly[0].x = 100.f;
poly[0].y = 100.f;
poly[0].z = 0.5f;
poly[0].u = 0.f;
poly[0].v = 0.f;
poly[0].col = 0xFFFFFFFF;
poly[1].x = 100.f;
poly[1].y = 300.f;
poly[1].z = 0.5.f;
poly[1].u = 0.f;
poly[1].v = 1.f;
poly[1].col = 0xFFFFFFFF;
poly[2].x = 300.f;
poly[2].y = 100.f;
poly[2].z = 0.5f;
poly[2].u = 1.f;
poly[2].v = 0.f;
poly[2].col = 0xFFFFFFFF;
poly[3].x = 300.f;
poly[3].y = 300.f;
poly[3].z = 0.5f;
poly[3].u = 1.f;
poly[3].v = 1.f;
poly[3].col = 0xFFFFFFFF;
/* グローバルインデックス0のテクスチャをポリゴンに貼る */
njDrawTexture( poly, 4, 0, FALSE);

参照

njDrawPolygon()

njDrawTexture
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999