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テクスチャポリゴン高速描画の終了の宣言