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

# njSetConstantAttr

モデルアトリビュートの設定

### 書式

      void njSetConstantAttr( and_attr, or_attr )
      Uint32 and_attr
      Uint32 or_attr

### 引数

  and_attr | アンド・アトリビュートパターン
  or_attr | オア・アトリビュートパターン

### 戻り値

  なし

### 解説

  モデルのアトリビュートデータを指定します。 njControl3D関数が定義されない限り値を参照しないので、デフォルトは不定となります。 オリジナルのアトリビュートに対する、ANDパターンと、ORパターンにより指定します。

  njControl3D関数にNJD_CONTROL_3D_CONSTANT_ATTRを指定したときは、ベーシックモデルに有効になります。
  njControl3D関数にNJD_CONTROL_3D_CNK_CONSTANT_ATTRを指定したときは、チャンクモデルに有効になります。

  <アトリビュートフラグの種類>

  ベーシックモデル

  NJD_FLAG_IGNORE_LIGHT | 光源計算をしない
  NJD_FLAG_IGNORE_SPECULAR | スペキュラを無視する
  NJD_FLAG_USE_FLAT | フラットシェーディングにする
  NJD_FLAG_DOUBLE_SIDE | 両面ポリゴンにする
  NJD_FLAG_USE_ENV | 環境マッピングをする
  NJD_FLAG_USE_TEXTURE | テクスチャマッピングをする
  NJD_FLAG_USE_ALPHA | 半透明を有効にする
  NJD_FLAG_FLIP_U | テクスチャをＵ方向にフリップする
  NJD_FLAG_FLIP_V | テクスチャをＶ方向にフリップする
  NJD_FLAG_CLAMP_U | テクスチャをＵ方向にクランプする
  NJD_FLAG_CLAMP_V | テクスチャをＶ方向にクランプする
  NJD_FLAG_USE_ANISOTROPIC | テクスチャにテクスチャスーパーサンプリングを使用する

  チャンクモデル

  NJD_FST_IL | 光源計算をしない
  NJD_FST_IS | スペキュラを無視する
  NJD_FST_IA | アンビエントを無視する
  NJD_FST_FL | フラットシェーディングにする
  NJD_FST_DB | 両面ポリゴンにする
  NJD_FST_ENV | 環境マッピングをする
  NJD_FST_UA | 半透明を有効にする

### 用例

      テクスチャ付のポリゴンを単色ポリゴンにし、フラットで表示する
      	:
      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_NO_CLIP_CHECK
      		| NJD_CONTROL_3D_DISP_AXIS );
      njSetConstantAttr( ~NJD_FLAG_USE_TEXTURE, NJD_FLAG_USE_FLAT );
      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()
  njCnkDrawModel()
  njCnkDrawObject()

njSetConstantAttr

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999