njControl3D English
■|INDEX|

書 式

#include  <Ninja.h>
void    njControl3D( flag )
Uint32  flag

引 数

flag
コントロールパラメタ

返 値

なし

エラー

なし

機 能

モデル、オブジェクトの描画をコントロールします。
設定できるパラメタは以下の通りです。

NJD_CONTROL_3D_DISP_AXIS
各モデルの原点に長さ1の軸を描画します。
X軸−青、Y軸−緑、Z軸−赤

NJD_CONTROL_3D_NO_CLIP_CHECK
モデル描画時のクリッピングチェックを行わないようにします。
完全に画面内に収まるモデル描画の場合、この指定を行うことにより、描画性能を向上することができます。

NJD_CONTROL_3D_CONSTANT_ATTR
モデルのアトリビュートを変更できるようにします。
変更するパラメタは、njSetConstantAttr()で指定します。

NJD_CONTROL_3D_CONSTANT_MATERIAL
モデルのマテリアルデータを固定値に変更します。
変更するパラメタは、njSetConstantMaterial()で指定します。
NJD_CONTROL_3D_CNK_CONSTANT_ATTRと同時には設定できません。

NJD_CONTROL_3D_OFFSET_MATERIAL
モデルのマテリアルデータを補正します。
補正するパラメタは、njSetConstantMaterial()で指定します。

NJD_CONTROL_3D_DEPTH_QUEUE
デプスキューを有効にします。
デプスキューとは、距離に応じて、透明度(α値)を変化させることをいいます。
デプスキューのパラメタは、njSetDepthQueue()で指定します。

NJD_CONTROL_3D_VERTEX_OFFSET
頂点データを法線方向に移動します
移動量は _nj_vertex_offset_ 変数で指定します

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_CONSTANT_ATTRと同時には設定できません。

用 例

sbInitSystem( NJD_RESOLUTION_VGA, NJD_FRAMEBUFFER_MODE_RGB565, 1 );
njInitVertexBuffer( 500000, 0, 10000, 0, 0 );
njInitMatrix( matrix, 128 );
njInit3D( vbuf, 4096 );
njInitView( &view );
njCreateLight( &light, NJD_DIR_LIGHT );
njSetView( &view );

njControl3D( NJD_CONTROL_3D_NO_CLIP_CHECK | NJD_CONTROL_3D_DISP_AXIS );

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();
}

備 考


関 連

njInit3D()
njDrawModel()
njDrawObject()
njSetConstantAttr()
njSetConstantMaterial()
njSetTextureMode()
njDrawAlphaBuf()
njSetDepthQueue()
njSetCheapShadowMode()
njCnkModDrawOjbect()
njCnkModDrawModel()

njControl3D
■|INDEX|

Copyright SEGA ENTERPRISES, LTD., 1997