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

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

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