ライト関係システム



 DG_FLAG_SHADE  (シェードを使用)



● 初期化時（GetResources時)に 単一の平行光源と環境光により 初期化される。

  



  (例） もし、ステージ設定以外のライトを使いたい場合は、



       DG_OBJS  *objs ;

       FMATRIX   lights[2] ;



       DG_SetLightMatrix((DG_OBJS *)objs,lights)

       /* 環境光を独自に設定 */ 

       lights[1].m[3][0] = 20.0F ;

       lights[1].m[3][1] = 20.0F ;

       lights[1].m[3][2] = 20.0F ;



   を行う。



● Act中に

      DG_GetLightMatrix((FVECTOR*)objs->world.m[3],lights);

   を行うと、指定した位置に近い３つの光源から近似をとって

   それを平行光源に代入する。



                  毎フレーム計算するので少し重くなる。



● フォグは 一点のみを計算し、単一のフラット表現になる。







  DG_FLAG_PAINT (プリシェードを使用)



● フォグは、全部の点を計算して それにあわせて フォグを決める。

   つまり グロー表現となる。



● 最初の初期化時にのみ RGBを決定し、後は固定。



●もし、この時に NO_SHADEのフラグが経っている場合は、明るさを１２８で固定。

  また、現在のところ

  PRE_SHADEを使用するときの初期化で lightsを指定していないと

  すべてのオブジェクトはNOSHADEとみなされる。