void njCnkSetEasyLightIntensity( diff, ambi ) float diff float ambi
diff | ディフューズ(光源)の強さ(0〜1.f) |
ambi | アンビエント(環境光)の強さ(0〜1.f) |
ディフューズに1.0fアンビエント0.0fを指定すると、光源の反対側で光のあたらない部分が真っ暗になってしまいます。 現実の世界ではほとんどの場合照り返しなどによって影の部分でも真っ暗にはなりません。 そこで、通常はアンビエントの値をいくらか加えます。
たとえば、アンビエントに0.2fを指定すると20%より暗くならなくなります。 また、アンビエントに1.0fを指定すると、すべて100%になりますので陰影はつかなくなります。
: njInitVertexBuffer( 1000000, 0, 1000, 0, 0 ); njInitMatrix( matrix, 8 , 0); njInit3D( vbuf, 4096 ); njInitView( &view ); njSetView( &view ); njCnkSetEasyLight( 0.f, 0.f, 1.0f ); njCnkSetEasyLightIntensity( 1.0f, 0.0f ); njCnkSetEasyLightColor( 1.0f, 1.0f, 1.0f ); njClearMatrix(); njTranslate( NULL, 0.f, 0.f, -10.f ); njRotateXYZ( NULL, rx,ry,rz ); njCnkEasyDrawObject( object );