0

我们是一个小型开发团队,使用一些 GLSL,这些 GLSL 可能对于旧显卡来说太大而无法编译。当根据错误类型发生这种情况时,我们希望向用户显示一条合理的错误消息(而不是仅仅转储信息日志或输出通用的“此着色器不起作用”类型的消息)。

问题是,ATI 和 nVidia 对这些错误消息有不同的约定,我发现确定着色器错误类型的唯一方法是解析 glGetShaderInfoLog 生成的错误字符串。

鉴于此,是否有某个地方的列表,或者有人知道 ATI 和 nVidia 卡的错误输出是什么样的吗?或者有没有更好的方法来检测何时超过指令限制?

4

1 回答 1

1

即使您现在知道错误消息是什么样子,nVidia 和 ATI 也没有义务在其驱动程序的下一个版本中保持它们相同。除了调试目的之外,它们基本上不能被依赖。

我会看看供应商扩展是否能够为您提供更具体的诊断信息。

于 2009-08-16T04:34:42.220 回答