Ninja Library - 描画関数

njDrawTexture3DHExSetData

ハイライト付き3Dテクスチャポリゴン高速描画のデータ設定

書式

void njDrawTexture3DHExSetData( p, count )
NJS_TEXTUREH_VTX *p
Int count

引数

 描画するポリゴンの頂点座標リスト
count   描画するポリゴンの頂点数

戻り値

なし

解説

ハイライト付き3Dテクスチャポリゴンデータを設定します。

この関数を実行する前に njDrawTexture3DHExStart()関数を実行しておく必要があります。

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

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

njDrawTexture3DHExEnd関数で描画の終了を宣言するまで、この関数以外の関数を実行しないでください。

半透明で描画する場合は njDrawTexture3DHExStart()関数の引数transをTRUEに、 半透明で描画しない場合はFALSEに指定します。

テクスチャの指定は njDrawTexture3DHExStart()関数の前に実行し、 変更する場合は njDrawTexture3DHExEnd()関数で描画を終了してから njDrawTexture3DHExStart()関数の前に行ってください。


用例

NJS_TEXTUREH_VTX  poly[100][4];
NJS_TEXTUREH_VTX  poly2[100][4];

njSetTexture( &texlist );
njSetTextureNum(0);
/* Draw 100 polygons with #0 texture */
njDrawTexture3DHExStart(FALSE);

for( i=0; i<100; i++ ){
	njDrawTexture3DHExSetData( poly[i], 4 );
}

njDrawTexture3DHExEnd();

njSetTextureNum(1);
/* Draw 100 polygons with #1 texture */
njDrawTexture3DHExStart(FALSE);

for( i=0; i<100; i++ ){
	njDrawTexture3DHExSetData( poly2[i], 4 );
}

njDrawTexture3DHExEnd();

備考

njDrawTexture3DHEx()関数は以下の関数を1つにまとめた関数です。

 関数名   機能 
 njDrawTexture3DHExStart   描画の開始宣言 
 njDrawTexture3DHExSetData(この関数)   描画データの設定 
 njDrawTexture3DHExEnd   描画の終了宣言 

複数のポリゴンを同一のリストに記述している場合、これら分割した関数群を使うことで、 開始および終了の宣言は1回づつでよいのでnjDrawTexture3DHEx()関数にくらべ高速な描画を可能とします。

描画データの設定を行うとき、頂点数は変更することもできます。


参照

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

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