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

書 式

#include  <Ninja.h>
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を指定したときは、チャンクモデルに有効になります。

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

    BASIC モデル
    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テクスチャをU方向にフリップする
    NJD_FLAG_FLIP_VテクスチャをV方向にフリップする
    NJD_FLAG_CLAMP_UテクスチャをU方向にクランプする
    NJD_FLAG_CLAMP_VテクスチャをV方向にクランプする
    NJD_FLAG_USE_ANISOTROPICテクスチャにテクスチャスーパーサンプリングを使用する

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


    用 例

    テクスチャ付のポリゴンを単色ポリゴンにし、フラットで表示する
    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_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