void njSetLight( light_num, light )
Int light_num
NJS_LIGHT *light
light_num ライト番号 light ライト構造体へのポインタ
なし
ライト構造体の設定にしたがって、ライトを設定します。ライト構造体のfuncがEasyMulti、SimleMulti関数の場合は、ライト番号(light_num)を指定します。 設定する値は、EasyMulti、SimpleMulti関数のライト番号と同じです。 Easy、Simple関数のときこの値は参照されません。
この関数では、LightSwitch関数、LightMatrices関数は実行していません。 ライトを反映させるために各自実行してください。
#include <Ninja.h> NJS_LIGHT light[2]; void UserInit(void) { /* Set point light */ light[0].x = 1.f; light[0].y = 0.f; light[0].z = 0.f; light[0].r = 0.8f; light[0].g = 0.f; light[0].b = 0.f; light[0].f1 = 5.f; light[0].f2 = 10.f; light[0].func = NJD_MFUNC_EASY_MULTI; light[0].type = NJD_LTYPE_POINT; /* Set ambient light */ light[1].r = 0.2f; light[1].g = 0.2f; light[1].b = 0.2f; light[1].func = NJD_MFUNC_EASY_MULTI; light[1].type = NJD_LTYPE_AMBIENT; njCnkSetEasyMultiLight(NJD_CNK_EASY_MULTILIGHT_1); njCnkSetEasyMultiLight(NJD_CNK_EASY_MULTILIGHT_2); njSetLight( NJD_CNK_EASY_MULTILIGHT_1, light[0] ); njSetLight( NJD_CNK_EASY_MULTILIGHT_2, light[1] ); njCnkSetEasyMultiLightSwitch(NJD_CNK_EASY_MULTILIGHT_ALL, 1); } void DrawFunc( Float frame ) { njPushMatrixEx(); njCnkSetEasyMultiLightMatrices(); njTranslate( NULL, EneX, EneY, EneZ ); njCnkEasyMultiDraw( &ENEMY1_MODEL); njPopMatrixEx(); }