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

njSetEasyLight

njEasyDrawObject(njEasyDrawModel)用ライトの設定

書式

void njSetEasyLight( x, y, z )
FLoat x, y, z

引数

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

戻値

なし

解説

njEasyDrawObject(njEasyDrawModel)用のライトを設定します。 ベクトルの座標系はスクリーンに固定の座標系です。 たとえば、 njSetEasyLight( 0.0f, 0.0f, 1.0f ); のように設定すれば、常に画面正面から光が当たっているようになります。 3D空間での座標にするためには、カレントマトリクスで変換してから設定してください。 light.x = LIGHT3D_X; light.y = LIGHT3D_Y; light.z = LIGHT3D_Z; njCalcVector( NULL, &light, &lwork ); njSetEasyLight( lwork.x, lwork.y, lworkz ); このようにすれば、3D空間(LIGHT3D_X,LIGHT3D_Y,LIGHT3D_Z)からの光源になります。

用例

sbInitSystem( NJD_RESOLUTION_640x240_NTSCNI, NJD_FRAMEBUFFER_MODE_RGB565, 1 );
njInitVertexBuffer( 1000000, 0, 1000, 0, 0 );
njInitMatrix( matrix, 8 , 0);
njInit3D( vbuf, 4096 );
njInitView( &view );
njSetView( &view );
njSetEasyLight( 0.f, 0.f, 1.0f );
njSetEasyLightIntensity( 1.0f, 0.0f );
njSetEasyLightColor( 1.0f, 1.0f, 1.0f );
njClearMatrix();
njTranslate( NULL, 0.f, 0.f, -10.f );
njRotateXYZ( NULL, rx,ry,rz );
njEasyDrawObject( object );

参照

njEasyDrawModel()
njEasyDrawObject()
njSetEasyLightIntensity()
njSetEasyLightColor()

njSetEasyLight
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998