##### Ninja Library - モデル関数

# njControl3D

3Dオブジェクト描画のコントロール

### 書式

> `void njControl3D( flag )
> Uint32 flag
> `

### 引数

> flag | コントロールパラメータ

### 戻り値

> なし

### 解説

> モデル、オブジェクトの描画をコントロールします。 コントロールパラメータは以下のパラメータを"|"で列挙して指定することができます。

> パラメータ | 意味
> 0 | 何の指定も行わない(デフォルト)
> NJD_CONTROL_3D_CONSTANT_MATERIAL | モデルのマテリアルデータを固定値に変更。変更するパラメータはnjSetConstantMaterial()関数で指定。
> NJD_CONTROL_3D_OFFSET_MATERIAL | モデルのマテリアルデータを補正。補正するパラメータは njSetConstantMaterial()関数で指定。
> NJD_CONTROL_3D_DEPTH_QUEUE | デプスキューを有効にする。デプスキューのパラメータは njSetDepthQueue()関数で指定。
> NJD_CONTROL_3D_MODEL_CLIP | モデル単位のクリッピングを有効にする。
> NJD_CONTROL_3D_CONSTANT_TEXTURE_MATERIAL | テクスチャのマテリアルを白にします(デフォルトはマテリアルの色)
> NJD_CONTROL_3D_SHADOW | モデル描画をチープシャドウモードにする。
> NJD_CONTROL_3D_SHADOW_OPAQUE | モデル描画をチープシャドウモードにする。(半透明ポリゴンには影がかからない)。
> NJD_CONTROL_3D_CNK_CONSTANT_ATTR | チャンクモデルのアトリビュートを変更できるようにする。変更するパラメータは、njSetConstantAttr()関数で指定。
> NJD_CONTROL_3D_TRANS_MODIFIER | モディファイアボリュームを半透明にも影響するようにする。これを設定しないと、半透明ポリゴンにはモディファイアが影響しない。これを設定する場合は、半透明モディファイアバッファを確保しなければならない。
> NJD_CONTROL_3D_USE_PUNCHTHROUGH | 半透明ポリゴンをパンチスルーポリゴンとして扱う。これを設定する場合は、パンチスルーバッファを確保しなければならない。
> NJD_CONTROL_3D_CNK_BLEND_MODE | チャンクモデルのブレンドモードを変更する。変更するパラメタは、njSetCnkBlendMode()関数で設定する。
> NJD_CONTROL_3D_DISABLE_NEAR_CLIP | ニアクリップをポリゴン単位にする。これによりポリゴンの補間を行わないので、性能が向上する。
> NJD_CONTROL_3D_ENV_UV_SCROLL | 環境マッピングのテクスチャのスクロールを行う。スクロールする値の設定は、njCnkSetUvScroll()関数で行う。
> NJD_CONTROL_3D_MIRROR_MODEL | njMirror()関数などで、マトリクスが反転した場合にモデル描画を正しく行う。
> NJD_CONTROL_3D_DISABLE_OPAQUE_MODIFIER | モディファイアボリュームを不透明バッファにセットしません。

### 用例

>     	:
>     njControl3D( NJD_CONTROL_3D_NO_CLIP_CHECK );
>     while(1) {
>      njPushMatrixEx();
>      njTranslate( NULL, 0.f, 0.f, -10.f );
>      njRotateXYZ( NULL, xx,yy,zz );
>      njCnkEasyDrawObject( object );
>      xx += 257;
>      yy += 179;
>      zz += 193;
>      njPopMatrixEx();

>              :

>     }

### 備考

> 完全に画面内に収まるモデル描画の場合、クリッピングチェックをしない指定をすると描画性能が向上します。

> 「デプスキュー」とは距離に応じて透明度(α値)を変化させることです。

### 参照

> njInit3D() | 3Dシステムの初期化
> njSetConstantAttr() | モデルアトリビュートの設定
> njSetConstantMaterial() | モデルマテリアルの設定
> njSetDepthQueue() | デプスキューの設定
> njSetCheapShadowMode() | チープシャドウモード／２パラメータモディファイアモードの設定
> njCnkModDrawObject() | CHUNKモディファイアオブジェクトの描画
> njCnkModDrawModel() | CHUNKモディファイアモデルの描画
> njSetCnkBlendMode() | モデルブレンドモードの設定

njControl3D

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000