Ninja Library - 描画関数

njDrawPolygon3DEx

3Dポリゴンの描画

書式

void njDrawPolygon3DEx( p, count, trans )
NJS_POLYGON_VTX *p
Int count
Int trans

引数

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

戻り値

なし

解説

3Dポリゴンを描画します。

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

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

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

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


用例

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

poly[0].x = 100.f;
poly[0].y = 100.f;
poly[0].z = 0.5f;
poly[0].col = 0xFFFFFFFF;

poly[1].x = 100.f;
poly[1].y = 300.f;
poly[1].z = 0.5.f;
poly[1].col = 0xFFFFFFFF;

poly[2].x = 300.f;
poly[2].y = 100.f;
poly[2].z = 0.5f;
poly[2].col = 0xFFFFFFFF;

poly[3].x = 300.f;
poly[3].y = 300.f;
poly[3].z = 0.5f;
poly[3].col = 0xFFFFFFFF;

njDrawPolygon3DEx( poly, 4, FALSE );

備考

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


njDrawPolygon3DExStart
njDrawPolygon3DExSetData
njDrawPolygon3DExEnd

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


参照

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

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