gpt4 book ai didi

c++ - 如何获取GLSL编译错误的行号

转载 作者:太空狗 更新时间:2023-10-29 20:39:23 24 4
gpt4 key购买 nike

我想知道是否有一种通用的方法来获取 GLSL 编译器错误的行号。起初我以为我可以解析 glGetInfoLogARB 但后来我读到它的输出不是标准化的。

最佳答案

它不是标准化的,但在个别供应商之间或多或少是这样。

例如,NVIDIA 倾向于以这种方式输出引用行的消息:

<Shader String Index>:<Line Number>(<Character Number>): <warning|error|...>:

虽然不完美,但如果您需要解析信息日志中的行号,您可以采用的一种方法是根据 GL_VENDOR 字符串预处理输入。信息日志通常用于人工解释,所以我不确定这真正值得付出多少努力。

说到非标准的东西,glGetInfoLogARB (...) 是过时的(它只存在于 GL_ARB_shader_objects 中)。

当 GLSL 在 GL 2.0 中成为核心时,该函数被拆分为 glGetShaderInfoLog (...)glGetProgramInfoLog (...) 分别用于编译器和链接器信息。出于可移植性考虑,您不应使用旧的 ARB 扩展;将 GL 2.0 作为您的最低版本并改用核心 GLSL。

关于c++ - 如何获取GLSL编译错误的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27881514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com