Ninja Library - 描画関数

njDrawTexture3DHEx

ハイライト付き3Dテクスチャポリゴンの描画

書式

void njDrawTexture3DHEx( *p, count, trans )
NJS_TEXTUREH_VTX *p
Int count
Int trans

引数

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

戻り値

なし

解説

ハイライト付き3Dテクスチャポリゴンを描画します。

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

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

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

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


用例

/*
	四角形を描画します。
	頂点の順は次のようになります。
	1  3
	2  4
*/
NJS_TEXTUREH_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].bcol = 0xFFFFFFFF;
poly[0].ocol = 0x80000000;

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].bcol = 0xFFFFFFFF;
poly[1].ocol = 0x80000000;

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].bcol = 0xFFFFFFFF;
poly[2].ocol = 0x80000000;

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].bcol = 0xFFFFFFFF;
poly[3].ocol = 0x80000000;

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

備考

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


njDrawTexture3DHExStart
njDrawTexture3DHExSetData
njDrawTexture3DHExEnd

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


参照

njDrawTextureEx() テクスチャポリゴンの描画
njDrawTexture3DExStart() 3Dテクスチャポリゴン高速描画の開始宣言
njDrawTexture3DExSetData() 3Dテクスチャポリゴン高速描画のデータ設定
njDrawTexture3DExEnd() 3Dテクスチャポリゴン高速描画の終了の宣言
njDrawTexture3DHExStart() ハイライト付き3Dテクスチャポリゴン高速描画の開始宣言
njDrawTexture3DHExSetData() ハイライト付き3Dテクスチャポリゴン高速描画のデータ設定
njDrawTexture3DHExEnd() ハイライト付き3Dテクスチャポリゴン高速描画の終了の宣言

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