リアルタイム3Dレンダリングの世界では、行列(マトリクス)が頻出する。
マトリクス = モデル座標変換・ビュー座標変換・プロジェクション座標変換を一つの行列でまとめて処理することができるようになる。→ リアルタイム3Dレンダリングにおいて、計算効率が良くてメッチャ便利。
3Dレンダリングの世界では、4×4の正方行列をつかうのが一般的。
モデルを3Dレンダリングするとき、モデル座標変換・ビュー座標変換・プロジェクション座標変換のそれぞれに個別の行列を用意し、それを掛け合わせた結果をWebGLの頂点シェーダへ渡す。→ 頂点シェーダは、渡された座標変換行列を操作して、モデルを描画する。
行列が持てる情報
モデル変換行列 = 描画したい3Dモデルの位置・拡大縮小の有無・回転 等
ビュー変換行列 = カメラの位置・カメラの向き・カメラの注視点 等
プロジェクション変換行列 = ディスプレイのアスペクト比・視野角 等
行列は掛け合わせの順序によって、計算結果が変わる。
行列を理解するには数学の世界を理解する必要があり、行列を理解しなければ3Dレンダリングを正しく理解することができない。
参考サイト: