有办法调试 GLSL(WebGL)程序吗,例如打印变量值?

2018-01-13 14:01:04 +08:00
 rabbbit
3075 次点击
所在节点    问与答
4 条回复
zwo
2018-01-13 17:25:26 +08:00
direct x 才可以,opengl 调试很麻烦,一般是通过片段着色器的颜色输出来做标记,有一些第三方工具如 renderDoc 可以捕捉一帧的渲染管线过程以及 VBO 等数据,但是对 glsl 里面的变量也无能为力。
YyYyYyy
2018-01-13 18:42:51 +08:00
我就记得我在哪里看过一种打印变量的黑魔法,搜了半天才找到:
https://github.com/FreeBlues/ShaderDebugger

作者的 blog 教程:
http://www.cnblogs.com/freeblues/p/5724774.html
http://www.cnblogs.com/freeblues/p/5724833.html
xmadi
2018-01-13 18:44:33 +08:00
没有
YyYyYyy
2018-01-13 18:54:26 +08:00
此外,你想打印变量也是为了学习管线或是实际项目的 debug。
Nvidia 的 Nsight 是我所知最好用的,但是不知道现在的版本支不支持 WebGL+浏览器的环境...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/422606

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX