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

書 式

#include  <Ninja.h>
void      njSetConstantAttr( and_attr, or_attr )
Uint32    and_attr
Uint32    or_attr

引 数

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

返 値

なし

エラー

なし

機 能

モデルのアトリビュートデータを指定します。
オリジナルのアトリビュートに対する、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・・・・・・・テクスチャをU方向にフリップする
        NJD_FLAG_FLIP_V・・・・・・・テクスチャをV方向にフリップする
        NJD_FLAG_CLAMP_U ・・・・・・テクスチャをU方向にクランプする
        NJD_FLAG_CLAMP_V ・・・・・・テクスチャを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 ・・・・・・・・・半透明を有効にする


用 例

テクスチャ付のポリゴンを単色ポリゴンにし、フラットで表示する
sbInitSystem( NJD_RESOLUTION_640x480_NTSCNI, NJD_FRAMEBUFFER_MODE_RGB565, 1 );
njInitMatrix( matrix, 128 );
njInit3D( vbuf, 4096, abuf, zbuf, 32 );
njInitView( &view );
njCreateLight( &light, NJD_DIR_LIGHT );
njSetView( &view );

njControl3D( NJD_CONTROL_3D_CONSTANT_ATTR );
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 );
  njDrawObject( object );
  xx += 257;
  yy += 179;
  zz += 193;
  njWaitVSync();
}

備 考


関 連

njDrawModel()
njDrawObject()
njControl3D()
njCnkDrawModel()
njCnkDrawObject()

njSetConstantAttr
|INDEX|

Copyright SEGA ENTERPRISES, LTD., 1997