void njCnkSetSimpleMultiAmbient( ar, ag, ab )
Float ar
Float ag
Float ab
ar アンビエント(環境光)の色(赤) ag アンビエント(環境光)の色(緑) ab アンビエント(環境光)の色(青)
なし
njCnkSimpleMultiDrawObject関数とnjCnkSimpleMultiDrawModel関数用のアンビエントを設定します。引数には使用するアンビエントの輝度(強さ)と色をかけたものを入れてください。 色の範囲は、0.f〜1.f(0%〜100%)の間で指定します。
Sint32 UserInit(void) { njCnkSetSimpleMultiLight(4); njCnkSetSimpleMultiLightVectorEx(NJD_CNK_SIMPLE_MULTILIGHT_1, 0.f, 0.f, -1.f); njCnkSetSimpleMultiLightPoint(NJD_CNK_SIMPLE_MULTILIGHT_2, 0.f, 0.f, -12.f); njCnkSetSimpleMultiLightPoint(NJD_CNK_SIMPLE_MULTILIGHT_3, 0.f, 0.f, -12.f); njCnkSetSimpleMultiLightPoint(NJD_CNK_SIMPLE_MULTILIGHT_4, 0.f, 0.f, -12.f); njCnkSetSimpleMultiLightRange(NJD_CNK_SIMPLE_MULTILIGHT_2, 6.f, 40.f); njCnkSetSimpleMultiLightRange(NJD_CNK_SIMPLE_MULTILIGHT_3, 6.f, 40.f); njCnkSetSimpleMultiLightRange(NJD_CNK_SIMPLE_MULTILIGHT_4, 6.f, 40.f); njCnkSetSimpleMultiAmbient(0.2f, 0.2f, 0.2f); njCnkSetSimpleMultiLightColor(NJD_CNK_SIMPLE_MULTILIGHT_1, 0.5f, 0.4f, 0.7f); njCnkSetSimpleMultiLightColor(NJD_CNK_SIMPLE_MULTILIGHT_2, 1.5f, 0.0f, 0.0f); njCnkSetSimpleMultiLightColor(NJD_CNK_SIMPLE_MULTILIGHT_3, 0.0f, 1.5f, 0.0f); njCnkSetSimpleMultiLightColor(NJD_CNK_SIMPLE_MULTILIGHT_4, 0.0f, 0.0f, 1.5f); njCnkSetSimpleMultiLightSwitch(NJD_CNK_SIMPLE_MULTILIGHT_ALL, 1); return USER_CONTINUE; } Sint32 UserMain(void) { njPushMatrixEx(); njCnkSetSimpleMultiLightMatrices(); njTranslate( NULL, 0.f, 0.f, -10.f ); njRotateXYZ( NULL, xx,yy,zz ); njCnkSimpleMultiDrawModel( model ); xx += 257; yy += 179; zz += 193; njPopMatrixEx(); return USER_CONTINUE; }
アンビエントライトは光源の数には含ませません。必ず存在するライトです。
njCnkSimpleMultiDrawModel() CHUNKモデルのSIMPLE MULTI描画 njCnkSimpleMultiDrawObject() CHUNKオブジェクトのSIMPLE MULTI描画 njCnkSetSimpleMultiLight() njCnkSimpleMultiDrawObject(−Model)関数用光源の個数設定 njCnkSetSimpleMultiLightColor() njCnkSimpleMultiDrawObject(−Model)関数用光源の色設定 njCnkSetSimpleMultiLightMatrices() njCnkSimpleMultiDrawObject(−Model)関数用光源の方向・位置の設定を反映 njCnkSetSimpleMultiLightPoint() njCnkSimpleMultiDrawObject(−Model)関数用光源の方向設定(点光源) njCnkSetSimpleMultiLightRange() njCnkSimpleMultiDrawObject(−Model)関数用光源の有効範囲設定(点光源) njCnkSetSimpleMultiLightVectorEx() njCnkSimpleMultiDrawObject(−Model)用ライトの光源方向設定(平行光源) njCnkSetSimpleMultiLightSwitch() njCnkSimpleMultiDrawObject(−Model)関数用光源の点灯・消灯設定