void njCnkSetEasyLight( x, y, z ) float x float y float z
x,y,z | ライトのベクトル |
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 );