iPad2上的texture2d出现问题

iPad2上的texture2d出现问题,ipad,opengl-es,Ipad,Opengl Es,我们遇到的情况是,对于同一着色器,当使用GL_亮度时,纹理在iPad1上渲染良好,但在iPad2上渲染不好。我们已经追踪到片段着色器中的texture2D调用。iPad1上的texture2D调用返回的vec4包含纹理的强度值,但iPad2上的texture2D返回的vec4是常量 看起来其他人也看到了这个问题[http://www.imgtec.com/forum/forum_posts.asp?TID=1267&PID=4307]. 然而,他们使用GL_HALF_FLOAT_OES,而我们

我们遇到的情况是,对于同一着色器,当使用GL_亮度时,纹理在iPad1上渲染良好,但在iPad2上渲染不好。我们已经追踪到片段着色器中的texture2D调用。iPad1上的texture2D调用返回的vec4包含纹理的强度值,但iPad2上的texture2D返回的vec4是常量

看起来其他人也看到了这个问题[http://www.imgtec.com/forum/forum_posts.asp?TID=1267&PID=4307]. 然而,他们使用GL_HALF_FLOAT_OES,而我们使用GL_FLOAT


还有其他人看到过这个问题吗?有解决办法吗?

对于GL_亮度浮点纹理,iPad 2会将亮度值剪辑为0.0-1.0,因此在调用glTexImage2D之前,应该对纹理数据进行规格化。但是,在iPad1上,您可以将任何浮点纹理值传递给着色器


不确定为什么会存在这种不一致性(GL驱动程序错误?),但如果有人能给出很好的解释,那就太好了。

对于GL_亮度浮点纹理,iPad2会将亮度值剪辑为0.0-1.0,因此您应该在调用glTexImage2D之前规范化纹理数据。但是,在iPad1上,您可以将任何浮点纹理值传递给着色器

不确定为什么会存在这种不一致性(GL驱动程序错误?),但如果有人能给出一个很好的解释,那就太好了