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

# njCnkSetSimpleMultiLightPoint

njCnkSimpleMultiDrawObject(njCnkSimpleMultiDrawObject)用ライトの光源方向設定(点光源)

### 書式

  void njCnkSetSimpleMultiLightPoint( light, x, y, z )
  Int light
  float x
  float y
  float z

### 引数

  light | ライト番号
  x | ライトの位置(X)
  y | ライトの位置(Y)
  z | ライトの位置(Z)

### 戻値

  なし

### 解説

  njCnkSimpleMultiDrawObject(njCnkSimpleMultiDrawObject)用の点光源の位置を設定します。

  引数には使用するライトの番号と位置を入れてください。

  (例：点光源)njCnkSetSimpleMultiLightPoint( NJD_CNK_SIMPLE_MULTILIGHT_2, x, y, 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 );
      /* チャンクライトを4個設定 */
      njCnkSetSimpleMultiLight( 4 );
      /* チャンクライトの平行光源(1番目の光源)方向設定 */
      njCnkSetSimpleMultiLightVector(0.f, 0.f, -1.f);
      /* チャンクライトの点光源位置設定 */
      /* 2番目の光源(点光源)の設定 */
      njCnkSetSimpleMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_2, 0.f, 0.f, -12.f);
      /* 3番目の光源(点光源)の設定 */
      njCnkSetSimpleMultiLightPoint(NJD_CNK_EASY_MULTILIGHT_3, 0.f, 0.f, -12.f);
      /* チャンクライトの点光源範囲(距離)設定 */
      njCnkSetSimpleMultiLightRange(NJD_CNK_EASY_MULTILIGHT_2, 6.f, 40.f);
      njCnkSetSimpleMultiLightRange(NJD_CNK_EASY_MULTILIGHT_3, 6.f, 40.f);
      njCnkSetSimpleMultiLightRange(NJD_CNK_EASY_MULTILIGHT_4, 6.f, 40.f);
      /* チャンクライトのアンビエント色設定 */
      njCnkSetSimpleMultiAmbient(0.1f, 0.1f, 0.1f);
      /* チャンクライトの光源色設定 */
      njCnkSetSimpleMultiLightColor(NJD_CNK_EASY_MULTILIGHT_1, 0.6f, 0.5f, 0.3f);
      njCnkSetSimpleMultiLightColor(NJD_CNK_EASY_MULTILIGHT_2, 1.f, 0.5f, 0.5f);
      njCnkSetSimpleMultiLightColor(NJD_CNK_EASY_MULTILIGHT_3, 0.5f, 1.f, 0.5f);
      njCnkSetSimpleMultiLightColor(NJD_CNK_EASY_MULTILIGHT_4, 0.5f, 0.5f, 1.f);
      	：
      njClearMatrix();
      /* チャンクライトの方向・位置の反映 */
      njCnkSetSimpleMultiLightMatrices();
      njTranslate( NULL, 0.f, 0.f, -10.f );
      njRotateXYZ( NULL, rx,ry,rz );
      njCnkSimpleMultiDrawObject;

### 備考

  この関数を用いて行った設定はnjCnkSetSimpleMultiLightMatrices()を呼ぶことで反映されます。

### 参照

  njCnkSimpleMultiDrawModel()
  njCnkSimpleMultiDrawObject()
  njCnkSetSimpleMultiAmbient()
  njCnkSetSimpleMultiLight()
  njCnkSetSimpleMultiLightColor()
  njCnkSetSimpleMultiLightMatrices()
  njCnkSetSimpleMultiLightRange()
  njCnkSetSimpleMultiLightVector()
  njCnkSetSimpleMultiLightSwitch()

njCnkSetSimpleMultiLightPoint

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998