WebGLについて①
少し前から3Dについての勉強をしたくて、最近は決まってやることが無かったので、ボチボチ勉強していこうと思います。 (デザインではなくプログラミングについてです)
勉強方法は会社の先輩に教えていただいた下記サイトを読んで、自分が大事だなとかよく分からなかった箇所をメモして、ここに振り返り用にアウトプットする感じでやっていこうかなと
3D描画の基礎知識
座標系
一方でDirectXは左手座標系
左手座標系と右手座標系の違いはZ座標(奥行き)の取り扱い方の違い
左手座標系では奥側がマイナスで手前に行くほどプラスの値
右手座標系はこれの逆で奥側がプラスで手前に行くほどマイナスの値を取る
3つの座標変換
モデル変換(DirectXではワールド変換と呼ばれる)
被写体となる物体が3次元空間のどの位置にあるのかを定義するための座標変換ビュー変換
カメラの位置、向きを定義する。カメラの位置やその向けられている方角を決めるために行われる座標変換プロジェクション変換
3次元空間のどの領域を撮影するかなどを定義する。横に幅広く描画するのか、もしくは縦長の映像を撮影するのかなど。一般的にカメラの場合はレンズの前にあるものを全て撮影し、どのくらいの遠さまでを映すかは意識しない。しかし、プログラムでは一番手前はここまで、一番遠くはここまで、と領域を決めて処理する
まとめ
プログラムが3次元空間を描画する時、最終的に2次元データに変換する必要がある。WebGLとDirectXでZ座標の扱いが異なる。3次元空間の情報を2次元の情報に変換するには、モデル、ビュー、プロジェクション変換が組み合わさって最終的にディズプレイに描画される
【続き】
arusu0629.hatenablog.com