如何可靠地在编程中找到OpenGL实现支持的GLSL版本?
最好的方法是获取GL_SHADING_LANGUAGE_VERSION
字符串并尝试解析它吗?这个字符串返回的格式是否是可以被信赖的?我的Intel驱动程序返回1.20
,这很容易解析,但我的nVidia显卡返回4.20 NVIDIA via Cg compiler
。它可以被信任与(\d+)\.(\d+)( .*)?
正则表达式匹配吗?这个答案似乎表明不是这样,返回的是OpenGL ES GLSL ES 1.0
。
这些都正确吗?或者还有其他方法?具体来说,我想检查至少支持GLSL 1.20。
GL_SHADING_LANGUAGE_VERSION
字符串的格式,这是否意味着我在问题中链接的答案要么报告不准确,要么苹果公司不符合标准;还是GLES不同? - Dolda2000