void njCnkSetEasyMultiLightVectorEx( light, vx, vy, vz )
Int light
Float vx
Float vy
Float vz
light ライト番号 vx, vy, vz ライトの単位方向ベクトル
なし
njCnkEasyMultiDrawObject(njCnkEasyMultiDrawModel)用の平行光源の方向を設定します。引数には使用するライトの番号と位置を入れてください。最大6個まで設定可能です。
Sint32 UserInit(void) { njCnkSetEasyMultiLight(4); njCnkSetEasyMultiLightVectorEx(NJD_CNK_EASY_MULTILIGHT_1, 0.f, 0.f, -1.f); njCnkSetEasyMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_2, 0.f, 0.f, -12.f); njCnkSetEasyMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_3, 0.f, 0.f, -12.f); njCnkSetEasyMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_4, 0.f, 0.f, -12.f); njCnkSetEasyMultiLightRange(NJD_CNK_EASY_MULTILIGHT_2, 6.f, 40.f); njCnkSetEasyMultiLightRange(NJD_CNK_EASY_MULTILIGHT_3, 6.f, 40.f); njCnkSetEasyMultiLightRange(NJD_CNK_EASY_MULTILIGHT_4, 6.f, 40.f); njCnkSetEasyMultiAmbient(0.2f, 0.2f, 0.2f); njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_1, 0.5f, 0.4f, 0.7f); njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_2, 1.5f, 0.0f, 0.0f); njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_3, 0.0f, 1.5f, 0.0f); njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_4, 0.0f, 0.0f, 1.5f); njCnkSetEasyMultiLightSwitch(NJD_CNK_EASY_MULTILIGHT_ALL, 1); return USER_CONTINUE; } Sint32 UserMain(void) { njPushMatrixEx(); njCnkSetEasyMultiLightMatrices(); njTranslate( NULL, 0.f, 0.f, -10.f ); njRotateXYZ( NULL, xx,yy,zz ); njCnkEasyMultiDrawModel( model ); xx += 257; yy += 179; zz += 193; njPopMatrixEx(); return USER_CONTINUE; }
この関数を用いて行った設定は njCnkSetEasyMultiLightMatrices()関数の実行で反映されます。
njCnkEasyMultiDrawObject() CHUNKオブジェクトのEASY MULTI描画 njCnkEasyMultiDrawModel() CHUNKモデルのEASY MULTI描画 njCnkSetEasyMultiAmbient() njCnkEasyMultiDrawObject(−Model)関数用アンビエント光の色設定 njCnkSetEasyMultiLight() njCnkEasyMultiDrawObject(−Model)関数用光源の個数設定 njCnkSetEasyMultiLightColor() njCnkEasyMultiDrawObject(−Model)関数用光源の色設定 njCnkSetEasyMultiLightMatrices() njCnkEasyMultiDrawObject(−Model)関数用光源の方向・位置の設定を反映 njCnkSetEasyMultiLightPoint() njCnkEasyMultiDrawObject(−Model)関数用光源の方向設定(点光源) njCnkSetEasyMultiLightRange() njCnkEasyMultiDrawObject(−Model)関数用光源の有効範囲設定(点光源) njCnkSetEasyMultiLightSwitch() njCnkEasyMultiDrawObject(−Model)関数用光源の点灯・消灯設定