void njDrawTexture3DEx( p, count, trans )
NJS_TEXTURE_VTX *p
Int count
Int trans
p 描画するポリゴンの頂点座標リスト 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テクスチャポリゴン高速描画の終了の宣言