【发布时间】:2015-08-31 18:08:31
【问题描述】:
我即将为我的下一个项目选择一个 OpenGLES 版本,因为我非常喜欢着色器程序,我觉得它们很有用,我不喜欢使用 OpenGLES 1.0,它也被弃用了。
考虑到这些,我从 2.0 或 3.0 甚至 3.1 中进行选择,我检查了 Khronos conformant product 以查看哪些设备支持 3.0,哪些仍然支持 2.0,
但我发现它很混乱,因为:
1.Apple Inc、Iphone 6 和 6 plus 适用于所有版本的 OpenGLES
OpenGLES 3.0 2015-08-29
OpenGLES 2.0 2014-10-19
OpenGLES 1.0 2014-10-19
这是否意味着市场上有一些只支持 OpenGLES 1.0 的 iphone 6?如果是的话,那会很奇怪,我想知道我怎么能要求支持 3.0 的,苹果商店的人会知道吗?例如,他们会说不要选择那个,因为它是 1.0!
2.另一个令人困惑的是该表中的GL_VERSION(合格产品)如果您检查与iPhone6相关的所有行,您将看到以下记录:
Apple Inc. Iphone 6,6+ GL_VERSION“OpenGL ES-CM 1.1 Apple A8 GPU - 50.5.1”
Apple Inc. Iphone 6,6+ GL_VERSION "OpenGL ES 2.0 Apple A8 GPU - 50.5.1"
Apple Inc. Iphone 6,6+ GL_VERSION:OpenGL ES 3.0 Apple A8 GPU - 50.5。
Apple Inc. Iphone 6,6+ GL_VERSION:OpenGL ES 3.0 Apple A8 GPU - 53.13
通过查看 GL_VERSION,您会发现 OpenGL 1.1 和 2.0 具有相同的 GL_Version,因此它不会显示 openGLES 的版本。
它是什么?我知道我可以通过glGetString(GL_VERSION) 获得它的价值,但我为什么要呢?
【问题讨论】:
-
根据苹果开发者网站 (developer.apple.com/library/ios/documentation/DeviceInformation/…) 上的信息,iPhone 3GS 及更高版本支持 ES 2.0,iPhone 5s 及更高版本支持 3.0。
-
Reto,谢谢,我也查了,有点失望,4和4s不支持OpenGL 2.0,还有很多人用4,4s甚至更老的机型。跨度>
-
3GS是最早支持2.0的,所以肯定包括4和4s。
-
是的,那是个误会,好吧,我想我会选择 openGLES 2.0,而忽略 3.0 中 VBO 和 VAO 的好处。