2012-09-28 103 views
0

我一直在使用glGetIntegerv和glGetString來查詢OpenGL擴展和屬性(例如最大紋理大小等)。現在我想看看我的設備支持浮動的紋理:查詢OpenGL功能

GLint ext_tex; 
glGetIntegerv(GL_HALF_FLOAT_OES, &ext_tex); 

不幸的是這將返回「0」的所有設備,也是那些支持浮動的紋理。如何找出設備是否支持這種紋理格式?目前我正在使用iPhone,iPhone 4S和iPad2以及更高版本支持此擴展,但我更喜歡使用通用解決方案,而不是基於設備型號進行決定。

回答

1

您通過獲取擴展字符串(glGetString(GL_EXTENSIONS))並搜索相應的擴展名稱來檢測對擴展的支持。如果它在那裏,那麼它被支持。