opengl - 如何调试 GLSL 着色器?

标签 opengl debugging glsl

我需要调试一个GLSL程序,但我不知道如何输出中间结果。

是否可以使用 GLSL 进行一些调试跟踪(如 printf)而不使用像 glslDevil 这样的外部软件?

最佳答案

您无法轻松地从 GLSL 内与 CPU 进行通信。使用 glslDevil 或其他工具是最好的选择。

printf 需要尝试从运行 GLSL 代码的 GPU 返回到 CPU。相反,您可以尝试向前推至显示屏。不要尝试输出文本,而是输出一些在屏幕上视觉上独特的内容。例如,只有当您到达代码中想要添加 printf 的位置时,您才能将某些内容绘制为特定颜色。如果您需要打印一个值,您可以根据该值设置颜色。

关于opengl - 如何调试 GLSL 着色器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2508818/

相关文章:

c - 为什么核心配置文件不起作用?

c++ - 未知的 OpenGL 错误

c++ - 基于uniform int在GLSL中声明数组

opengl - 由 glEnableVertexArrayAttrib 生成的段错误

c++ - 旋转物体

java - 如何在 Eclipse(Java 项目)中启用内存监视器?

python - 如何为 gdb 安装 python 调试信息?

c++ - 使用 QGLShaderProgram 将自定义类型(结构)统一从 Qt 传递到 GLSL

c++ - glRotate 和我的矩阵::旋转

javascript - 提示在谷歌应用程序脚本中不起作用