DirectX 11 でピッキング用に、ピッキング レイをスクリーン スペース座標からビュー スペースに変換したいと考えています。
以下は、この変換を説明する一部 (「DirectX 11 を使用した 3D ゲーム プログラミングの概要」から) です。
赤い部分がわかりません。私の知る限り、頂点に射影行列を掛けて、ビュー空間から均一なクリップ空間に変換します。次に、ハードウェアが透視分割を行い、NDC 空間に変換します。では、x 座標に縦横比rを掛けるだけで、この変換を逆にするにはどうすればよいでしょうか?
通常、XMVector3Unproject() を使用してこの変換を実行します。これは、ビューポート変換を逆にし、(逆投影 * 逆ビュー * 逆世界) 行列を乗算します。
アスペクト比を使用したこの他の「方法」がどのように機能するか(なぜ? )誰かが説明できますか?
EDİT:参照されている 5.6.3.3 の部分を以下に追加しました。