*argb | マテリアルデータ |
njControl3D()にNJD_CONTROL_3D_CONSTANT_MATERIAL または、NJD_CONTROL_3D_OFFSET_MATERIALを指定したとき有効になります。
NJD_CONTROL_3D_CONSTANT_MATERIALを指定したときは、指定したマテリアルでモデルを描画します。
NJD_CONTROL_3D_OFFSET_MATERIALを指定したときは、モデルデータのマテリアルに指定したマテリアルを加えて描画します。また、スプライト描画のカラー演算にも使用します。
モデルがすべて半透明で表示されます。 sbInitSystem( NJD_RESOLUTION_640x240_NTSCNI, NJD_FRAMEBUFFER_MODE_RGB565, 1 ); 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(); }