VDP2マニュアル 12.1カラー演算カラー演算コントロールレジスタ
に相当するデータのセットを行っています。
この関数を呼ばない場合、カラー演算をしない設定になっています。
これは、ハードの初期状態と同じです。
slLookAt関数は、イメージとしては、カレントマトリクスにカメラ座標分だけ、 slTranslateやslRot*などの操作を、呼出時に一回行なうと考えて頂ければ 良いと思います。
引数に、カレントマトリクスに対するローカル座標データを与えると、 2D座標系に変換した値を返します。
このコンバータは、DGT2の全てのモードに対応していますので、 PPのフォーマットもコンバート可能です。
このツールは、SATURN¥SGL¥TOOLにあります。
別の方法では、ステージ毎に事なるデータの部分だけを別セクションにして 用意するといった方法でも可能だと思います。
を実行することです。
すると影のモデルはy軸平面に平行な影になります。もし地面がy軸に 平行でない場合、slScaleに与える成分(具体的には法線ベクトルに 絡みますが)を変更する事でそれっぽい影が出ると思います。
また、マトリクスを直接いじる方法もあります。
この場合、日が傾いて影がのびるような効果も期待できます。
1 0 0 slMulFX( slSin( ang ), long ) 0 slMulFX( slCos( ang ), long ) 0 0 1
angの変更で影の向き
longの変更で影の長さを調整できます。
SGLでは、スクリーン位置をシステム変数 MsScreenDist及びSlScreenDistで管理しています。 従って、ニアクリッピングの掛かる位置を、システム変数「MsZdpsfcnt」 と合わせて使う事でどの座標が境界値になるか分かります。