njCnkSetSimpleLight
njCnkSimpleDrawObject(njCnkSimpleDrawModel)用ライトの設定

書 式

#include <Ninja.h>
void njCnkSetSimpleLight( x, y, z )
FLoat x, y, 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)からの光源になります。

用 例

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 );

njCnkSetSimpleLight( 0.f, 0.f, 1.0f );
njCnkSetSimpleLightIntensity( 1.0f, 0.0f );
njCnkSetSimpleLightColor( 1.0f, 1.0f, 1.0f );

njClearMatrix();
njTranslate( NULL, 0.f, 0.f, -10.f );
njRotateXYZ( NULL, rx,ry,rz );
njCnkSimpleDrawObject( object );

備 考


関 連

njCnkSimpleDrawModel
njCnkSimpleDrawObject
njCnkSetSimpleLightIntensity
njCnkSetSimpleLightColor

njCnkSetSimpleLight

Copyright SEGA ENTERPRISES, LTD., 1998