void njCnkSetEasyLight( x, y, z )
Float x
Float y
Float z
x,y,z ライトのベクトル
なし
njCnkEasyDrawObject関数とnjCnkEasyDrawModel関数用のライトを設定します。 ベクトルの座標系はカメラに固定の座標系です。 たとえば、njCnkSetEasyLight( 0.0f, 0.0f, -1.0f );
のように設定すれば、常に画面正面から光があたっているようになります。 3D空間での座標にするためには、カレントマトリクスで変換してから設定してください。
light.x = LIGHT3D_X;
light.y = LIGHT3D_Y;
light.z = LIGHT3D_Z;
njCalcVector( NULL, &light, &lwork );
njCnkSetEasyLight( lwork.x, lwork.y, lworkz );このようにすれば、ライトの座標を3D空間(LIGHT3D_X,LIGHT3D_Y,LIGHT3D_Z)に設定できます。
Sint32 UserInit(void) { njCnkSetEasyLight( 0.f, 0.f, -1.0f ); njCnkSetEasyLightIntensity( 1.0f, 0.0f ); njCnkSetEasyLightColor( 1.0f, 1.0f, 1.0f ); return USER_CONTINUE; } Sint32 UserMain(void) { njPushMatrixEx(); njTranslate( NULL, 0.f, 0.f, -10.f ); njRotateXYZ( NULL, xx,yy,zz ); njCnkEasyDrawModel( model ); xx += 257; yy += 179; zz += 193; njPopMatrixEx(); return USER_CONTINUE; }
画角や画面中心など、スクリーンの設定を変更した場合、この関数をコールしてください。
njCnkEasyDrawObject() CHUNKオブジェクトのEASY描画 njCnkEasyDrawModel() CHUNKモデルのEASY描画 njCnkSetEasyLightIntensity() njCnkEasyDrawObject(−Model)関数用光源の強さの設定 njCnkSetEasyLightColor() njCnkEasyDrawObject(−Model)関数用光源の色の設定