Ninjaライブラリ - 描画関数

njDrawTexture

テクスチャポリゴンを描画する。

書式

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

引数

*polygonNJS_TEXTURE_VTX構造体のポインタ
count頂点数
texテクスチャのグローバルインデックス
trans半透明

戻値

なし

解説

テクスチャポリゴンを描画します。頂点はストリップ形式に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