我们是一个小型开发团队,使用一些 GLSL,这些 GLSL 可能对于旧显卡来说太大而无法编译。当根据错误类型发生这种情况时,我们希望向用户显示一条合理的错误消息(而不是仅仅转储信息日志或输出通用的“此着色器不起作用”类型的消息)。
问题是,ATI 和 nVidia 对这些错误消息有不同的约定,我发现确定着色器错误类型的唯一方法是解析 glGetShaderInfoLog 生成的错误字符串。
鉴于此,是否有某个地方的列表,或者有人知道 ATI 和 nVidia 卡的错误输出是什么样的吗?或者有没有更好的方法来检测何时超过指令限制?