void njSetConstantAttr( and_attr, or_attr ) Uint32 and_attr Uint32 or_attr
and_attr | アンド・アトリビュートパターン |
or_attr | オア・アトリビュートパターン |
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 | 半透明を有効にする |
テクスチャ付のポリゴンを単色ポリゴンにし、フラットで表示する : 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(); }