0

次の投影を行いたい:

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

以下を除いて、ほとんど期待どおりに動作します。

  1. 完全に正方形ではない画面では変形します。
  2. 画面からいくつかのオブジェクトを削除する近く/遠くのクリッピングを行います。私はそれをしたくありません。

要するに、質問は次のようになります: このマトリックスにニア/ファー FOV を設定する方法と、画面の幅だけでなく、幅/高さの比率を考慮して更新する方法を教えてください。

注: 問題のソフトウェアは Three.js を使用していますが、OpenGL と同じ規則を使用していると思われるため、そのようにタグ付けしました。

4

2 に答える 2

0

ウィキペディアには、正投影に関する優れたリファレンスがあります。それから:

画像

遠/近/右/左/上/下を指定して、このマトリックスを生成する関数を作成できます

于 2013-09-06T13:30:53.887 に答える