void njDrawTexture3DExSetData( p, count )
NJS_TEXTURE_VTX *p
Int count
p 描画するポリゴンの頂点座標リスト count 描画するポリゴンの頂点数
なし
3Dテクスチャポリゴンデータを設定します。この関数を実行する前に njDrawTexture3DExStart()関数を実行しておく必要があります。
頂点はストリップ形式で設定し、引数countには頂点数を指定します。
njClip3D関数で設定したニアクリップ、ファークリップ値は反映されます。 ファークリップでは設定した頂点が1点でもクリップの対象になると描画を行いません。
njDrawTexture3DExEnd()関数で描画の終了を宣言するまで、この関数以外の関数を実行しないでください。
半透明で描画する場合は njDrawTexture3DExStart()関数の引数transをTRUEに、 半透明で描画しない場合はFALSEに指定します。
テクスチャの指定は njDrawTexture3DExStart()関数の前に実行し、 変更する場合は njDrawTexture3DExEnd()関数で描画を終了してから njDrawTexture3DExStart()関数の前に行ってください。
NJS_TEXTURE_VTX poly[100][4]; NJS_TEXTURE_VTX poly2[100][4]; njSetTexture( &texlist ); njSetTextureNum(0); /* Draw 100 polygons with #0 texture */ njDrawTexture3DExStart(FALSE); for( i=0; i<100; i++ ){ njDrawTexture3DExSetData( poly[i], 4 ); } njDrawTexture3DExEnd(); njSetTextureNum(1); /* Draw 100 polygons with #1 texture */ njDrawTexture3DExStart(FALSE); for( i=0; i<100; i++ ){ njDrawTexture3DExSetData( poly2[i], 4 ); } njDrawTexture3DExEnd();
njDrawTexture3DEx()関数は以下の関数を1つにまとめた関数です。
関数名 機能 njDrawTexture3DExStart 描画の開始宣言 njDrawTexture3DExSetData(この関数) 描画データの設定 njDrawTexture3DExEnd 描画の終了宣言
複数のポリゴンを同一のリストに記述している場合、これら分割した関数群を使うことで、 開始および終了の宣言は1回づつでよいのでnjDrawTexture3DEx()関数にくらべ高速な描画を可能とします。
描画データの設定を行うとき、頂点数は変更することもできます。
njDrawTextureEx() テクスチャポリゴンの描画 njDrawTexture3DEx() 3Dテクスチャポリゴンの描画 njDrawTexture3DExStart() 3Dテクスチャポリゴン高速描画の開始宣言 njDrawTexture3DExEnd() 3Dテクスチャポリゴン高速描画の終了の宣言 njDrawPolygon3DEx() 3Dポリゴンの描画 njDrawPolygon3DExStart() 3Dポリゴン高速描画の開始宣言 njDrawPolygon3DExSetData() 3Dポリゴン高速描画のデータ設定 njDrawPolygon3DExEnd() 3Dポリゴン高速描画の開始宣言