##### 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