我一直在使用glGetIntegerv和glGetString来查询OpenGL扩展和属性(例如最大纹理大小等)。现在我想知道我的设备是否支持浮动纹理:
GLint ext_tex;
glGetIntegerv(GL_HALF_FLOAT_OES, &ext_tex);
不幸的是,对于所有设备都返回“0”,也支持浮动纹理。如何确定设备是否支持此纹理格式?目前我使用的是iPhone 4S和iPad2及更高版本支持此扩展的iOS,但我更喜欢通用解决方案,而不是根据设备型号决定。
答案 0 :(得分:1)
您可以通过获取扩展字符串(glGetString(GL_EXTENSIONS)
)并搜索相应的扩展名来检测对扩展的支持。如果它在那里,则支持它。