のぐそんブログ

暗いおじさんがシコシコ書くブログです。

WebGLでの行列による変換処理を理解する上で、最低限知る必要がある言葉

WebGLでの行列による変換処理を理解する上で、最低限しっていないといけない言葉について書きたいと思います。

下記を参考にさせていただきました。 3D 描画の基礎知識

OpenGLの座標系

OpenGL右手座標系 です。 X座標は右に行くほど、大きくなります。 Y座標は上に行くほど、大きくなります。 Z座標は手前にくるほど、大きくなります。

モデル座標変換行列(ワールド変換行列)

3次元空間での頂点の位置の操作で使用します。 頂点の平行移動や、回転、拡大縮小などがモデル座標変換行列で行えます。

3次元空間の原点から見て、対象となるモデル(オブジェクト)がどの座標にあるかを変換します。

ビュー座標変換行列

ビュー座標変換は、その名の示すとおりビューつまりカメラの役割です。 3次元空間内で、描画を開始する位置や、向き、視野角などをビュー座標変換を使って定義します。

プロジェクション座標変換行列

プロジェクション座標変換行列は、いわゆるプロジェクターのように「投影」に関する変換を行う座標変換です。3次元空間内の描画領域を定義します。

実際はスクリーン(平面)に投影する為、近いオブジェクトは大きく、遠いオブジェクトは小さくなどの2Dでの表示への変換が行われる。

MVPマトリックス

最終的にシェーダーに送る行列は、モデル、ビュー、プロジェクションをかけ合わせたものになります。

まとめ

描画に至るまでに、多くの座標変換処理を行っているようです。 難しい。。。