0

我一直在使用 glGetIntegerv 和 glGetString 来查询 OpenGL 扩展和属性(例如最大纹理大小等)。现在我想知道我的设备是否支持浮动纹理:

GLint ext_tex;
glGetIntegerv(GL_HALF_FLOAT_OES, &ext_tex);

不幸的是,这对于所有设备都返回“0”,也包括那些支持浮动纹理的设备。如何确定设备是否支持这种纹理格式?目前我正在使用 iOS,其中 iPhone 4S 和 iPad2 及更高版本支持此扩展,但我更喜欢通用解决方案,而不是根据设备型号决定。

4

1 回答 1

1

您可以通过获取扩展字符串 ( glGetString(GL_EXTENSIONS)) 并搜索适当的扩展名称来检测对扩展的支持。如果它在那里,那么它是受支持的。

于 2012-09-28T14:35:31.383 回答