Ninja Library - 描画関数

njDrawTexture3DEx

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

書式

void njDrawTexture3DEx( p, count, trans )
NJS_TEXTURE_VTX *p
Int count
Int trans

引数

 描画するポリゴンの頂点座標リスト
count   描画するポリゴンの頂点数
trans   半透明フラグ

戻り値

なし

解説

3Dテクスチャポリゴンを描画します。

頂点データはストリップ形式で設定し、引数countには頂点数を指定します。

njClip3D関数で設定したニアクリップ、ファークリップ値は反映されます。 ファークリップでは設定した頂点が1点でもクリップの対象になると描画を行いません。

半透明を使用する場合は引数transをTRUEに、半透明を使用しない場合はFALSEに設定します。

njDrawPolygon3D関数に比べ、多くのアトリビュート設定を持たない分高速に描画できます。


用例

/*
四角形を描画します。
頂点の順は次のようになります。
1  3
2  4
*/
NJS_TEXTURE_VTX  poly[4];

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;

njSetTexture( &texlist );
njSetTextureNum(0);
njDrawTexture3DEx( poly, 4, FALSE );

備考

半透明・不透明など同一のポリゴンを描画する場合は、以下のの関数を用いると更に高速な描画が可能です。


njDrawTexture3DExStart
njDrawTexture3DExSetData
njDrawTexture3DExEnd

詳しくはそれぞれ関数の説明を参照してください。


参照

njDrawPolygon3DEx() 3Dポリゴンの描画
njDrawPolygon3DExStart() 3Dポリゴン高速描画の開始宣言
njDrawPolygon3DExSetData() 3Dポリゴン高速描画のデータ設定
njDrawPolygon3DExEnd() 3Dポリゴン高速描画の開始宣言
njDrawTexture3DExStart() 3Dテクスチャポリゴン高速描画の開始宣言
njDrawTexture3DExSetData() 3Dテクスチャポリゴン高速描画のデータ設定
njDrawTexture3DExEnd() 3Dテクスチャポリゴン高速描画の終了の宣言

njDrawTexture3DEx
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000