这一切都在 OpenGL ES 2.0 中......
我正在尝试将 3D 透视投影与 2D 正交投影混合,这样我就可以在游戏中的 3D 场景顶部放置一个 HUD。
游戏以横向运行,我真的很困惑如何处理设备方向。
我正在使用合适的投影矩阵渲染 3D 内容,并将 modelView 矩阵和我的照明旋转 90 度,因此 3D 场景是正确的。这一点都工作正常。
我的问题是我无法弄清楚如何正确设置 2D 投影矩阵,因此当设备处于横向且主页按钮位于左侧时,原点位于左上角。
如何正确构造正交矩阵以使这种情况发生?我目前正在使用这个
// OrthoMatrix does the same as the old GLOrthof function (left, right, bottom, top, near, far);
projectionMatrix2D = mat4::OrthoMatrix(0, screenWidth, screenHeight , 0, -1.0, 1.0);
但是,如果设备是纵向的,并且主页按钮位于底部,这只会将原点放在左上角,并且在我手中旋转设备意味着一切都在它的一侧。
我应该尝试更改 2D 投影矩阵还是需要做其他事情?