WebGLでの行列による変換処理を理解する上で、最低限知る必要がある言葉
WebGLでの行列による変換処理を理解する上で、最低限しっていないといけない言葉について書きたいと思います。
下記を参考にさせていただきました。 3D 描画の基礎知識
OpenGLの座標系
OpenGLは 右手座標系 です。 X座標は右に行くほど、大きくなります。 Y座標は上に行くほど、大きくなります。 Z座標は手前にくるほど、大きくなります。
モデル座標変換行列(ワールド変換行列)
3次元空間での頂点の位置の操作で使用します。 頂点の平行移動や、回転、拡大縮小などがモデル座標変換行列で行えます。
3次元空間の原点から見て、対象となるモデル(オブジェクト)がどの座標にあるかを変換します。
ビュー座標変換行列
ビュー座標変換は、その名の示すとおりビューつまりカメラの役割です。 3次元空間内で、描画を開始する位置や、向き、視野角などをビュー座標変換を使って定義します。
プロジェクション座標変換行列
プロジェクション座標変換行列は、いわゆるプロジェクターのように「投影」に関する変換を行う座標変換です。3次元空間内の描画領域を定義します。
実際はスクリーン(平面)に投影する為、近いオブジェクトは大きく、遠いオブジェクトは小さくなどの2Dでの表示への変換が行われる。
MVPマトリックス
最終的にシェーダーに送る行列は、モデル、ビュー、プロジェクションをかけ合わせたものになります。
まとめ
描画に至るまでに、多くの座標変換処理を行っているようです。 難しい。。。