在我的iPhone应用程序中,我需要将3d场景投影到屏幕的2D坐标中以进行一些计算。我的对象经过各种旋转,平移和缩放。所以我想我需要先将顶点与ModelView矩阵相乘,然后再与正交投影矩阵相乘。

首先是在正确的轨道上吗?

我有模型 View 矩阵,但需要投影矩阵。 ES 2.0中是否有glOrtho()等效项?

最佳答案

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

10-06 11:05