njSetLightAngle | |
njCreateLightによって設定されたライトの限界角を設定します。 |
#include <NINJA.H> void njSetLightAngle( *ptr, iang, oang ) NJS_LIGHT *ptr NJS_Angle iang NJS_Angle oang
例えば、スポットライトが舞台に照らされているとします。
ライトは舞台上で円錐状に照らされていますが、光の円錐の外側ですぐに暗くなるのではなく徐々に減衰していきます。
この時の円錐のエッジの角度もしくは減衰の始まる角度がこの関数のパラメータiangとなります。
次に、この減衰の広がりは90度を超すことはありませんが、スポットライトが鋭くなればなるほど90度近くの計算は意味を持たなくなります。
この時の減衰の計算を省略(カットオフ)しはじめる角度、いいかえれば光のなくなる角度をパラメータoangで設定します。
#include <NINJA.H> ........... NJS_LIGHT light; sbInitSystem( NJD_RESOLUTION_VGA, NJD_FRAMEBUFFER_MODE_RGB565, 1); njCreateLight(&light, NJD_SPEC_POINT); ........... /* スペキュラ付き点光源の内側限界角を30度、外側を60度に設定 */ njSetLightAngle(&light, NJM_RAD_ANG(NJD_PI/6.f), NJM_RAD_ANG(NJD_PI/3.f));
njSetLightAngle |