【发布时间】:2013-08-03 16:01:28
【问题描述】:
我想在我的 OpenGL ES 2.0 顶点着色器中转置一个矩阵,但显然我的 iPad 3 不支持 GLSL #version 120,这是内置函数 transpose(mat4) 所需要的。
我知道有一些解决方法可以解决这个问题,例如在将矩阵传递到图形芯片之前在 CPU 上转置矩阵,但如果我可以在那里转置它,它会使我的着色器更简单。
那么,在 iOS 6 设备的着色器中是否有 transpose mat4 选项?
另一件事:问题
What version of GLSL is used in the iPhone(s)?
说 OpenGL ES 2.0 使用 GLSL 1.20。那么为什么#version 120 不能在 iPad 3 上运行呢?
【问题讨论】:
-
你试过没有#version和转置吗?我很确定它适用于标准 ES 2.0 参考卡。
-
"说 OpenGL ES 2.0 使用 GLSL 1.20" 不,它没有。它说它“基于”1.20,而不是它使用 1.20。
-
@JustinMeiners 是的,我试过了,没用。没有
#version 120,transpose是未定义的。 -
@NicolBolas 你是对的。你知道哪些 iOS 设备支持哪些 GLSL 版本吗?
标签: ios ipad opengl-es opengl-es-2.0 glsl