njCnkPreLightObject
CHUNK オブジェクトの光源の前計算

### 書　式

      #include <Ninja.h>
      void	njCnkPreLightObject( object )
      NJS_CNK_OBJECT	*object

### 引　数

NJS_CNK_OBJECT *object
  チャンクオブジェクト構造体へのポインタ

### 返　値

  なし

### エラー

  なし

### 機　能

  チャンクオブジェクトの光源をあらかじめ計算しておくものです。
  光源の計算結果は頂点チャンクに溜め込みます。
  そのため、頂点チャンク形式は、NJD_CV_VN_D8 のみになっています。
  njCnkDrawObjectと同様の光源計算を行いますが、マテリアルは白として計算します。
  また、スペキュラは反映されません。

### 用　例

      sbInitSystem( NJD_RESOLUTION_640x240_NTSCNI, NJD_FRAMEBUFFER_MODE_RGB565, 1 );
      njInitVertexBuffer( 500000, 0, 10000, 0, 0 );
      njInitMatrix( matrix, 128, 0);
      njInit3D( vbuf, 4096 );
      njInitView( &view );
      njSetView( &view );

      njCreateLight(<[0], NJD_SPEC_DIR);
      njCreateLight(<[1], NJD_SPEC_POINT);
      njCreateLight(<[2], NJD_SPEC_POINT);
      njCreateLight(<[3], NJD_SPEC_POINT);

      njSetLightDirection(<[0], 0.f, 0.f, -1.f);
      njSetLightLocation(<[1], 0.f, 0.f, -12.f);
      njSetLightLocation(<[2], 0.f, 0.f, -12.f);
      njSetLightLocation(<[3], 0.f, 0.f, -12.f);
      njSetLightRange(<[1], 4.f, 16.f);
      njSetLightRange(<[2], 4.f, 16.f);
      njSetLightRange(<[3], 4.f, 16.f);

      njCnkSetAmbient(0.3f, 0.3f, 0.3f);

      njSetLightColor(<[0], 0.3f, 0.2f, 0.1f);
      njSetLightColor(<[1], 1.f, 0.0f, 0.0f);
      njSetLightColor(<[2], 0.0f, 1.f, 0.0f);
      njSetLightColor(<[3], 0.0f, 0.0f, 1.f);
      njSetLightIntensity(<[0], 0.f, 1.f, 0.f);
      njSetLightIntensity(<[1], 0.f, 1.f, 0.f);
      njSetLightIntensity(<[2], 0.f, 1.f, 0.f);
      njSetLightIntensity(<[3], 0.f, 1.f, 0.f);

      if( _stop ) {
      	njUnitMatrix(&m);
      	njTranslate( &m, 0.f, 0.f, zzz );
      	njRotateXYZ( &m, xx1,yy1,zz1 );
      	njCalcPoint( &m, &p, &p1 );

      	njUnitMatrix(&m);
      	njTranslate( &m, 0.f, 0.f, zzz );
      	njRotateXYZ( &m, xx2,yy2,zz2 );
      	njCalcPoint( &m, &p, &p2 );

      	njUnitMatrix(&m);
      	njTranslate( &m, 0.f, 0.f, zzz );
      	njRotateXYZ( &m, xx3,yy3,zz3 );
      	njCalcPoint( &m, &p, &p3 );

      	xx1 += 357;
      	yy1 += 269;
      	zz1 += 211;
      	xx2 += 169;
      	yy2 += 351;
      	zz2 += 223;
      	xx3 += 109;
      	yy3 += 217;
      	zz3 += 273;

      	njSetLightLocation(<[1], p1.x, p1.y, p1.z);
      	njSetLightLocation(<[2], p2.x, p2.y, p2.z);
      	njSetLightLocation(<[3], p3.x, p3.y, p3.z);
      }

      njClearMatrix();
      njTranslate( NULL, 0.f, 0.f, -10.f );
      njRotateXYZ( NULL, xx,yy,zz );

      if( _stop ) njCnkPreLightObject( MODEL );

      njCnkEasyDrawObject( MODEL );

### 備　考

### 関　連

  njCnkDrawModel
  njCnkPreLightModel

njCnkPreLightObject |