njSetConstantMaterial
モデルマテリアルの設定

書 式

#include <Ninja.h>
void      njSetConstantMaterial( argb )
NJS_ARGB  *argb

引 数

NJS_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