void njSetConstantMaterial( *argb ) NJS_ARGB *argb
*argb | マテリアルデータ |
引数 argbに指定する値は、−1.0f〜+1.0fです。 njControl3D関数が定義されない限り値を参照しないので、デフォルトは不定となります。 njControl3D関数にNJD_CONTROL_3D_CONSTANT_MATERIAL または、NJD_CONTROL_3D_OFFSET_MATERIALを指定したとき有効になります。 NJD_CONTROL_3D_CONSTANT_MATERIALを指定したときは、指定したマテリアルでモデルを描画します。 NJD_CONTROL_3D_OFFSET_MATERIALを指定したときは、モデルデータのマテリアルに指定したマテリアルを加えて描画します。また、スプライト描画のカラー演算にも使用します。
モデルがすべて半透明で表示されます。 : 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_OFFSET_MATERIAL ); /* モデルに半透明が設定されていない場合 */ njSetConstantAttr( 0xFFFFFFFF, NJD_FLAG_USE_ALPHA) argb.a = -0.5f; argb.r = 0.f; argb.g = 0.f; argb.b = 0.f; njSetConstantMaterial( &argb ); 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(); }