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

njSetConstantMaterial

モデルマテリアルの設定

書式

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を指定したときは、モデルデータのマテリアルに指定したマテリアルを加えて描画します。また、スプライト描画のカラー演算にも使用します。


用例

モデルがすべて半透明で表示されます。
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();
}

参照

njInit3D()
njControl3D()
njDrawModel()
njDrawObject()
njDrawSprite2D()
njDrawSprite3D()

njSetConstantMaterial
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998