iOS | OpenGLES 2/3 - glMatrixMode替代方案

时间:2016-11-30 09:46:48

标签: c++ ios qt opengl-es openscenegraph

我正在将应用程序从Windows移动到iOS。然后我需要在OpenGL ES中转换“OpenGL”。在原始应用程序中,我有glPush / PopAttrib指令,但它在OpenGL ES中不存在。有些人在这里谈论另一种选择:http://qt.developpez.com/doc/4.7/opengl-hellogl-es/但是他们使用的是glMatrixMode,它只能在OpenGL ES 1.1(不是2或3)下使用。

那么,有人在OpenGL ES 2中有替代glMatrixMode吗?

更准确:我正在尝试让Qt和OpenSceneGraph上下文一起工作。而且我对着色器中的操作没有任何控制。

1 个答案:

答案 0 :(得分:0)

OpenGL ES 2.x以后没有固定的函数矩阵堆栈支持。如果您想要一个矩阵,您必须自己计算该值并通过glUniformMatrix*()上传一个原始数据。

这个矩阵究竟需要什么以及" name"统一符号的完全取决于着色器,以及它们如何处理几何变换。通常,应用程序需要在CPU上连接模型视图和/或模型视图投影矩阵,以避免每个顶点进行计算。

OpenGL ES 1.x中存在的许多概念根本不存在于OpenGL ES 2.x中(例如,没有用于片段的固定功能照明管道),所以它很少是简单的&# 34;端口"并且更需要重写渲染引擎的大块...

相关问题