次の投影を行いたい:
x' = 2*x - z
y' = -2*y - z
z' = -z
私はこのマトリックスを思いつきました:
2, 0, 0, 0,
0, -2, 0, 0,
0, 0, -1, 0,
0, 0, 0, screen_width
以下を除いて、ほとんど期待どおりに動作します。
- 完全に正方形ではない画面では変形します。
- 画面からいくつかのオブジェクトを削除する近く/遠くのクリッピングを行います。私はそれをしたくありません。
要するに、質問は次のようになります: このマトリックスにニア/ファー FOV を設定する方法と、画面の幅だけでなく、幅/高さの比率を考慮して更新する方法を教えてください。
注: 問題のソフトウェアは Three.js を使用していますが、OpenGL と同じ規則を使用していると思われるため、そのようにタグ付けしました。