Ninja Library - モデル・シンプルマルチ関数

njCnkSetSimpleMultiLightRange

njCnkSimpleMultiDrawObject(−Model)関数用光源の有効範囲設定(点光源)

書式

void njCnkSetSimpleMultiLightRange( light, nrange, frange )
Int light
Float nrange
Float frange

引数

light   ライト番号
nrange   ライトの最大輝度が届く範囲(上限クランプ)
frange   ライトの位置ライトが届く範囲(カット・オフ)

戻り値

なし

解説

njCnkSimpleMultiDrawObject関数とnjCnkSimpleMultiDrawModel関数用の点光源の有効範囲を設定します。 引数には使用するライトの番号および最大輝度の範囲(一定値)と届く範囲(この値で切られてしまいます)を入れてください。 通常は(0<nrange<frange)です。

用例


Sint32	UserInit(void)
{
 njCnkSetSimpleMultiLight(4);
 njCnkSetSimpleMultiLightVectorEx(NJD_CNK_SIMPLE_MULTILIGHT_1, 0.f, 0.f, -1.f);
 njCnkSetSimpleMultiLightPoint(NJD_CNK_SIMPLE_MULTILIGHT_2, 0.f, 0.f, -12.f);
 njCnkSetSimpleMultiLightPoint(NJD_CNK_SIMPLE_MULTILIGHT_3, 0.f, 0.f, -12.f);
 njCnkSetSimpleMultiLightPoint(NJD_CNK_SIMPLE_MULTILIGHT_4, 0.f, 0.f, -12.f);
 njCnkSetSimpleMultiLightRange(NJD_CNK_SIMPLE_MULTILIGHT_2, 6.f, 40.f);
 njCnkSetSimpleMultiLightRange(NJD_CNK_SIMPLE_MULTILIGHT_3, 6.f, 40.f);
 njCnkSetSimpleMultiLightRange(NJD_CNK_SIMPLE_MULTILIGHT_4, 6.f, 40.f);
 njCnkSetSimpleMultiAmbient(0.2f, 0.2f, 0.2f);
 njCnkSetSimpleMultiLightColor(NJD_CNK_SIMPLE_MULTILIGHT_1, 0.5f, 0.4f, 0.7f);
 njCnkSetSimpleMultiLightColor(NJD_CNK_SIMPLE_MULTILIGHT_2, 1.5f, 0.0f, 0.0f);
 njCnkSetSimpleMultiLightColor(NJD_CNK_SIMPLE_MULTILIGHT_3, 0.0f, 1.5f, 0.0f);
 njCnkSetSimpleMultiLightColor(NJD_CNK_SIMPLE_MULTILIGHT_4, 0.0f, 0.0f, 1.5f);
 njCnkSetSimpleMultiLightSwitch(NJD_CNK_SIMPLE_MULTILIGHT_ALL, 1);
 return USER_CONTINUE;
}
Sint32	UserMain(void)
{
 njPushMatrixEx();
 njCnkSetSimpleMultiLightMatrices();
 njTranslate( NULL, 0.f, 0.f, -10.f );
 njRotateXYZ( NULL, xx,yy,zz );
 njCnkSimpleMultiDrawModel( model );
 xx += 257;
 yy += 179;
 zz += 193;
 njPopMatrixEx();
 return USER_CONTINUE;
}

参照

njCnkSimpleMultiDrawModel() CHUNKモデルのSIMPLE MULTI描画
njCnkSimpleMultiDrawObject() CHUNKオブジェクトのSIMPLE MULTI描画
njCnkSetSimpleMultiAmbient() njCnkSimpleMultiDrawObject(−Model)関数用アンビエント光の色設定
njCnkSetSimpleMultiLight() njCnkSimpleMultiDrawObject(−Model)関数用光源の個数設定
njCnkSetSimpleMultiLightColor() njCnkSimpleMultiDrawObject(−Model)関数用光源の色設定
njCnkSetSimpleMultiLightMatrices() njCnkSimpleMultiDrawObject(−Model)関数用光源の方向・位置の設定を反映
njCnkSetSimpleMultiLightPoint() njCnkSimpleMultiDrawObject(−Model)関数用光源の方向設定(点光源)
njCnkSetSimpleMultiLightVectorEx() njCnkSimpleMultiDrawObject(−Model)用ライトの光源方向設定(平行光源)
njCnkSetSimpleMultiLightSwitch() njCnkSimpleMultiDrawObject(−Model)関数用光源の点灯・消灯設定

njCnkSetSimpleMultiLightRange
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000