3Dプログラム作成に当たってのメモ置き場。
X軸、Y軸、Z軸回転は順番によりまったく結果が異なる。 ただ移動の際はよほど大きな距離を移動しない限り誤魔化される。 基本的に同時に複数の軸回転を許可しなければ問題はない。 そもそも軸回転自体が曖昧で2軸回転のみで全ての3次元状態を表現出来る。 回転行列の回転角度はカメラ座標系から+-。従って通常は0。 ワールド座標系に対してカメラがどれくらい傾いているかの情報は特に保持しない。 回転角を対ワールド座標系にしていると、回転の順序の関係から矛盾が生じてくる。
Zクリッピング。YXクリッピングは描画過程で計算及び描画を飛ばすことで実現。 クリッピングされた面を作成してそれを描画することはしない(コード的に綺麗だけど重い)。 UVテクスチャ。矛盾。歪む。線形補間無理。Zもスクリーンに対して線形ではない。 反比例。sY=x/z*Zs(sY:スクリーン上のy。x、z:ポリゴンの立体座標値。Zs:スクリーンまでの距離)。
無限(ループ)テクスチャ。地面などに利用。UVをmodしてやればいい。そしてUV(0-1)の値を10などに設定。
光の計算。テクセル値は16進数。10進変換は重くなるので16進のまま計算。 Ia * 0x7 / 0xa。整数なので0xaで割る。0x64だと潰れて意味なし。
Dec.4/01
各頂点のポリゴン値を元に、スクリーン上の単位当たりにおける変化量の求め方を試行錯誤。 Web巡回中に、単にポリゴン値を元に対象平面の式をつくり、ポリゴン→スクリーンの投影変換の式を入れれば良いことを発見。
カメラを完全に中心にした処理にしたためワールド座標系との関係が消えてしまい光源処理が出来なくなっていたことに気づく。 後日修正。