void njCnkSetEasyLightIntensity( inten, ambient )
Float inten
Float ambient
inten ディフューズ(光源)の強さ(0〜1.f) ambient アンビエント(環境光)の強さ(0〜1.f)
なし
njCnkEasyDrawObject関数とnjCnkEasyDrawModel関数用のライトの強さを設定します。ディフューズに1.0fアンビエント0.0fを指定すると、光源の反対側で光のあたらない部分が真っ暗になってしまいます。 現実の世界ではほとんどの場合照り返しなどによって影の部分でも真っ暗にはなりません。 そこで、通常はアンビエントの値をいくらか加えます。
たとえば、アンビエントに0.2fを指定すると20%より暗くならなくなります。 また、アンビエントに1.0fを指定すると、すべて100%になりますので陰影はつかなくなります。
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描画 njCnkSetEasyLight() njCnkEasyDrawObject(−Model)関数用光源の方向・設定 njCnkSetEasyLightColor() njCnkEasyDrawObject(−Model)関数用光源の色の設定