5

私の iPhone アプリでは、計算のために 3D シーンを画面の 2D 座標に投影する必要があります。私のオブジェクトは、さまざまな回転、平行移動、およびスケーリングを経ます。したがって、最初に頂点に ModelView 行列を掛ける必要があると考え、次に直交射影行列を掛ける必要があると考えました。

まず第一に、正しい軌道に乗っていますか?

モデル ビュー マトリックスはありますが、射影マトリックスが必要です。ES 2.0 に相当する glOrtho() はありますか?

4

2 に答える 2

13
mat4 projectionMatrix = mat4( 2.0/768.0, 0.0, 0.0, -1.0,
                              0.0, 2.0/1024.0, 0.0, -1.0,
                              0.0, 0.0, -1.0, 0.0,
                              0.0, 0.0, 0.0, 1.0);                        

gl_Position = position;
gl_Position *= rotationMatrix;
gl_Position.x -= translateX;
gl_Position.y -= translateY;
gl_Position *= projectionMatrix;

固定解像度 (iPad の場合は 1024x768) の場合、このマトリックスを使用しましたが、すべてが魅力的に機能します:) マトリックスに入力する必要がある値の完全な説明は次のとおりです: glOrtho.html

于 2010-06-02T11:11:10.880 に答える
3

マニュアルページglOrtho()は同等の操作が説明されているため、マトリックスが手元にある限り、再実装できるはずです。

于 2010-05-17T08:39:39.900 に答える