Ninjaライブラリ - ライト関数

njCnkSetEasyLight

njCnkEasyDrawObject(−Model)用のライトの設定

書式

void njCnkSetEasyLight( x, y, z ) 
float x 
float y 
float z 

引数

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

戻り値

なし

解説

njCnkEasyDrawObject関数とnjCnkEasyDrawModel関数用のライトを設定します。 ベクトルの座標系はスクリーンに固定の座標系です。 たとえば、

njCnkSetEasyLight( 0.0f, 0.0f, 1.0f );

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


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

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


用例

	:
njInitVertexBuffer( 1000000, 0, 1000, 0, 0 );
njInitMatrix( matrix, 8 , 0);
njInit3D( vbuf, 4096 );
njInitView( &view );
njSetView( &view );
njCnkSetEasyLight( 0.f, 0.f, 1.0f );
njCnkSetEasyLightIntensity( 1.0f, 0.0f );
njCnkSetEasyLightColor( 1.0f, 1.0f, 1.0f );
njClearMatrix();
njTranslate( NULL, 0.f, 0.f, -10.f );
njRotateXYZ( NULL, rx,ry,rz );
njCnkEasyDrawObject( object );

参照

njCnkEasyDrawObject()
njCnkEasyDrawModel()
njCnkSetEasyLightIntensity()
njCnkSetEasyLightColor()

njCnkSetEasyLight
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999