Ninjaライブラリ - モデル関数

njSetConstantAttr

モデルアトリビュートの設定

書式

void njSetConstantAttr( and_attr, or_attr ) 
Uint32 and_attr 
Uint32 or_attr 

引数

and_attr   アンド・アトリビュートパターン
or_attr   オア・アトリビュートパターン

戻り値

なし

解説

モデルのアトリビュートデータを指定します。 njControl3D関数が定義されない限り値を参照しないので、デフォルトは不定となります。 オリジナルのアトリビュートに対する、ANDパターンと、ORパターンにより指定します。


njControl3D関数にNJD_CONTROL_3D_CONSTANT_ATTRを指定したときは、ベーシックモデルに有効になります。
njControl3D関数にNJD_CONTROL_3D_CNK_CONSTANT_ATTRを指定したときは、チャンクモデルに有効になります。

<アトリビュートフラグの種類>

ベーシックモデル

 NJD_FLAG_IGNORE_LIGHT   光源計算をしない 
 NJD_FLAG_IGNORE_SPECULAR   スペキュラを無視する 
 NJD_FLAG_USE_FLAT   フラットシェーディングにする 
 NJD_FLAG_DOUBLE_SIDE   両面ポリゴンにする 
 NJD_FLAG_USE_ENV   環境マッピングをする 
 NJD_FLAG_USE_TEXTURE   テクスチャマッピングをする 
 NJD_FLAG_USE_ALPHA   半透明を有効にする 
 NJD_FLAG_FLIP_U   テクスチャをU方向にフリップする 
 NJD_FLAG_FLIP_V   テクスチャをV方向にフリップする 
 NJD_FLAG_CLAMP_U   テクスチャをU方向にクランプする 
 NJD_FLAG_CLAMP_V   テクスチャをV方向にクランプする 
 NJD_FLAG_USE_ANISOTROPIC   テクスチャにテクスチャスーパーサンプリングを使用する 

チャンクモデル

 NJD_FST_IL   光源計算をしない 
 NJD_FST_IS   スペキュラを無視する 
 NJD_FST_IA   アンビエントを無視する 
 NJD_FST_FL   フラットシェーディングにする 
 NJD_FST_DB   両面ポリゴンにする 
 NJD_FST_ENV   環境マッピングをする 
 NJD_FST_UA   半透明を有効にする 


用例

テクスチャ付のポリゴンを単色ポリゴンにし、フラットで表示する
	:
njInitVertexBuffer( 500000, 0, 10000, 0, 0 );
njInitMatrix( matrix, 128, 0);
njInit3D( vbuf, 4096 );
njInitView( &view );
njCreateLight( &light, NJD_DIR_LIGHT );
njSetView( &view );
njControl3D( NJD_CONTROL_3D_NO_CLIP_CHECK
		| NJD_CONTROL_3D_DISP_AXIS );
njSetConstantAttr( ~NJD_FLAG_USE_TEXTURE, NJD_FLAG_USE_FLAT );
while(1) {
 njClearMatrix();
 njTranslate( NULL, 0.f, 0.f, -10.f );
 njRotateXYZ( NULL, xx,yy,zz );
 njDrawModel( model );
 xx += 257;
 yy += 179;
 zz += 193;
 njWaitVSync();
}

参照

njInit3D()
njControl3D()
njDrawModel()
njDrawObject()
njCnkDrawModel()
njCnkDrawObject()

njSetConstantAttr
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999