Ninja Library - モデル・イージーマルチ関数

njCnkSetEasyMultiLightPoint

njCnkEasyMultiDrawObject(−Model)関数用光源の方向設定(点光源)

書式

void njCnkSetEasyMultiLightPoint( light, x, y, z )
Int light
Float px
Float py
Float pz

引数

light   ライト番号
px   ライトの位置(X)
py   ライトの位置(Y)
pz   ライトの位置(Z)

戻り値

なし

解説

njCnkEasyMultiDrawObject関数とnjCnkEasyMultiDrawModel関数用の点光源の位置を設定します。 引数には使用するライトの番号と位置を入れてください。


(例:点光源)
njCnkSetEasyMultiLightPoint( NJD_CNK_EASY_MULTILIGHT_2, x, y, z );


用例


Sint32	UserInit(void)
{
 njCnkSetEasyMultiLight(4);
 njCnkSetEasyMultiLightVectorEx(NJD_CNK_EASY_MULTILIGHT_1, 0.f, 0.f, -1.f);
 njCnkSetEasyMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_2, 0.f, 0.f, -12.f);
 njCnkSetEasyMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_3, 0.f, 0.f, -12.f);
 njCnkSetEasyMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_4, 0.f, 0.f, -12.f);
 njCnkSetEasyMultiLightRange(NJD_CNK_EASY_MULTILIGHT_2, 6.f, 40.f);
 njCnkSetEasyMultiLightRange(NJD_CNK_EASY_MULTILIGHT_3, 6.f, 40.f);
 njCnkSetEasyMultiLightRange(NJD_CNK_EASY_MULTILIGHT_4, 6.f, 40.f);
 njCnkSetEasyMultiAmbient(0.2f, 0.2f, 0.2f);
 njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_1, 0.5f, 0.4f, 0.7f);
 njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_2, 1.5f, 0.0f, 0.0f);
 njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_3, 0.0f, 1.5f, 0.0f);
 njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_4, 0.0f, 0.0f, 1.5f);
 njCnkSetEasyMultiLightSwitch(NJD_CNK_EASY_MULTILIGHT_ALL, 1);
 return USER_CONTINUE;
}
Sint32	UserMain(void)
{
 njPushMatrixEx();
 njCnkSetEasyMultiLightMatrices();
 njTranslate( NULL, 0.f, 0.f, -10.f );
 njRotateXYZ( NULL, xx,yy,zz );
 njCnkEasyMultiDrawModel( model );
 xx += 257;
 yy += 179;
 zz += 193;
 njPopMatrixEx();
 return USER_CONTINUE;
}

備考

この関数を用いて行った設定はnjCnkSetEasyMultiLightMatrices関数を呼ぶことで反映されます。

参照

njCnkEasyMultiDrawModel() CHUNKモデルのEASY MULTI描画
njCnkEasyMultiDrawObject() CHUNKオブジェクトのEASY MULTI描画
njCnkSetEasyMultiAmbient() njCnkEasyMultiDrawObject(−Model)関数用アンビエント光の色設定
njCnkSetEasyMultiLight() njCnkEasyMultiDrawObject(−Model)関数用光源の個数設定
njCnkSetEasyMultiLightColor() njCnkEasyMultiDrawObject(−Model)関数用光源の色設定
njCnkSetEasyMultiLightMatrices() njCnkEasyMultiDrawObject(−Model)関数用光源の方向・位置の設定を反映
njCnkSetEasyMultiLightRange() njCnkEasyMultiDrawObject(−Model)関数用光源の有効範囲設定(点光源)
njCnkSetEasyMultiLightVectorEx() njCnkEasyMultiDrawObject(−Model)用ライトの光源方向設定(平行光源)
njCnkSetEasyMultiLightSwitch() njCnkEasyMultiDrawObject(−Model)関数用光源の点灯・消灯設定

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