我需要调试一个GLSL程序,但我不知道如何输出中间结果。
是否可以使用 GLSL 进行一些调试跟踪(如 printf)而不使用像 glslDevil 这样的外部软件?
最佳答案
您无法轻松地从 GLSL 内与 CPU 进行通信。使用 glslDevil 或其他工具是最好的选择。
printf 需要尝试从运行 GLSL 代码的 GPU 返回到 CPU。相反,您可以尝试向前推至显示屏。不要尝试输出文本,而是输出一些在屏幕上视觉上独特的内容。例如,只有当您到达代码中想要添加 printf 的位置时,您才能将某些内容绘制为特定颜色。如果您需要打印一个值,您可以根据该值设置颜色。
关于opengl - 如何调试 GLSL 着色器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2508818/