Ninjaライブラリ - ライト関数

njCnkSetEasyLightIntensity

njCnkEasyDrawObject(njCnkEasyDrawModel)用ライトの強さの設定

書式

void njCnkSetEasyLightIntensity( diff, ambi )
float diff
float ambi

引数

diffディフューズ(光源)の強さ
ambiアンビエント(環境光)の強さ

戻値

なし

解説

njCnkEasyDrawObject(njCnkEasyDrawModel)用のライトの強さを設定します。

ディフューズに 1.0f アンビエント 0.0f を指定すると、 光源の反対側で光の当たらない部分が真っ暗になってしまいます。

現実の世界ではほとんどの場合照り返しなどによって影の部分でも真っ暗にはなりません。 そこで、通常はアンビエントの値をいくらか加えます。 たとえば、アンビエントに 0.2f を指定すると20%より暗くならなくなります。

また、アンビエントに 1.0fを指定すると、すべて100%になりますので陰影はつかなくなります。


用例

sbInitSystem( NJD_RESOLUTION_640x240_NTSCNI, NJD_FRAMEBUFFER_MODE_RGB565, 1 );
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 );

参照

njCnkEasyDrawObject()
njCnkEasyDrawModel()
njCnkSetEasyLight()
njCnkSetEasyLightColor()

njCnkSetEasyLightIntensity
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998