Ninja Library - モデル・テゥーン関数

njCnkSetToonLight

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

書式

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

引数

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

戻り値

なし

解説

njCnkToonDrawObject()関数とnjCnkToonDrawMode()l関数用のライトを設定します。

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

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

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


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

このようにすれば、ライトの座標を3D空間(LIGHT3D_X,LIGHT3D_Y,LIGHT3D_Z)に設定できます。


用例

Sint32 UserInit(void)
{
	njCnkSetToonLight( 0.f, 0.f, -1.0f );
	njCnkSetToonLightIntensity( 1.0f, 0.0f );
	njCnkSetToonShade( 0xffc0c0c0, 0xff404040 );
	return USER_CONTINUE;
}
Sint32 UserMain(void)
{
	njPushMatrixEx();
	njTranslate( NULL, 0.f, 0.f, -10.f );
	njRotateXYZ( NULL, xx,yy,zz );
	njCnkToonDrawModel( model );
	xx += 257;
	yy += 179;
	zz += 193;
	njPopMatrixEx();
	return USER_CONTINUE;
}

備考

画角や画面中心など、スクリーンの設定を変更した場合、この関数を実行してください。

参照

njCnkToonDrawObject() CHUNKオブジェクトのアニメ調描画
njCnkToonDrawModel() CHUNKモデルのアニメ調描画
njCnkSetToonLightIntensity() njCnkToonDrawObject(−Model)関数用光源の強さの設定
njCnkSetToonShade() njCnkToonDrawObject(−Model)関数用の色の設定

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