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

njCnkSetSimpleLight

njCnkSimpleDrawObject(−Model)関数用光源の方向・設定

書式

void njCnkSetSimpleLight( x, y, z )
Float x
Float y
Float z

引数

x,y,z   ライトのベクトル

戻り値

なし

解説

njCnkSimpleDrawObject関数とnjCnkSimpleDrawModel関数用のライトを設定します。

ベクトルの座標系はカメラに固定の座標系です。 たとえば、

njCnkSetSimpleLight( 0.0f, 0.0f, -1.0f );

のように設定すれば、常に画面正面から光があたっているようになります。 3D空間での座標にするためには、カレントマトリクスで変換してから設定してください。


light.x = LIGHT3D_X;
light.y = LIGHT3D_Y;
light.z = LIGHT3D_Z;
njCalcVector( NULL, &light, &lwork );
njCnkSetSimpleLight( lwork.x, lwork.y, lworkz );

このようにすれば、3D空間(LIGHT3D_X,LIGHT3D_Y,LIGHT3D_Z)からの光源になります。


用例


Sint32	UserInit(void)
{
 njCnkSetSimpleLight( 0.f, 0.f, -1.0f );
 njCnkSetSimpleLightIntensity( 0.8f, 0.25f );
 njCnkSetSimpleLightColor( 1.0f, 1.0f, 1.0f );
 return USER_CONTINUE;
}
Sint32	UserMain(void)
{
 njPushMatrixEx();
 njTranslate( NULL, 0.f, 0.f, -10.f );
 njRotateXYZ( NULL, xx,yy,zz );
 njCnkSimpleDrawObject( object );
 xx += 257;
 yy += 179;
 zz += 193;
 njPopMatrixEx();
 return USER_CONTINUE;
}

参照

njCnkSimpleDrawModel() CHUNKモデルのSIMPLE描画
njCnkSimpleDrawObject() CHUNKオブジェクトのSIMPLE描画
njCnkSetSimpleLightIntensity() njCnkSimpleDrawObject(−Model)関数用光源の強さ設定
njCnkSetSimpleLightColor() njCnkSimpleDrawObject(−Model)関数用光源の色設定

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