我一直在使用 glGetIntegerv 和 glGetString 来查询 OpenGL 扩展和属性(例如最大纹理大小等)。现在我想知道我的设备是否支持浮动纹理:
GLint ext_tex;
glGetIntegerv(GL_HALF_FLOAT_OES, &ext_tex);
不幸的是,这对于所有设备都返回“0”,也包括那些支持浮动纹理的设备。如何确定设备是否支持这种纹理格式?目前我正在使用 iOS,其中 iPhone 4S 和 iPad2 及更高版本支持此扩展,但我更喜欢通用解决方案,而不是根据设备型号决定。