WebGL着色器调试器,变量检查。

6
我正在寻找一款JavaScript工具,可以将WebGL着色器调试到单行/变量级别。因此,每一行都可以中断并检查每个变量的值。
这可以通过仪器化(解析着色器,生成一个输出所请求变量的着色器,将其执行在当前上下文中并返回输出给用户)来完成。
这类似于glslDevil (http://www.vis.uni-stuttgart.de/glsldevil/)对OpenGL所做的工作。
有人知道是否存在这样的WebGL工具吗?

1
我想象中的工具非常雄心勃勃。1. GLSL代码将由库/驱动程序编译为带有GLSL调试信息的代码。2. GPU将为每个着色器分配一个单独的监视线程,并在断点指令上进行陷阱。3. 然后,GPU监视器会在每个陷阱上将GPU状态信息发送回CPU。嗯...可能这种工具之所以不存在是因为有很好的理由。可能只能在CPU上模拟GLSL代码来完成这项任务... - wcochran
我在考虑只使用软件仪器来完成它。只要驱动程序/实现子系统能够处理一些额外的条件语句的复杂性,你就可以完全在软件中完成它。 - user3664955
我看到glsldevil的最新版本是2010年的?这似乎是一个重要的空缺需要填补。 - wcochran
glsldevil的开源分支:http://glsl-debugger.github.io/ - user3664955
分支版本看起来不错...似乎他们需要有人在OS X版本上工作--嗯...也许我会去看看。 - wcochran
不确定是否值得一提,但我的其中一个副业是创建类似于WebGL Inspector的Chrome扩展程序,用于WebGL。虽然我还没有做得太远。 - Brendan Annable
1个回答

1

Firefox浏览器,至少在v38版本中,提供了一个用于WebGL GLSL着色器调试的面板。您可以编辑并快速重新编译它们以进行调试。但我认为它不允许在单独的行上设置断点。

您可以通过齿轮面板启用它:

Firefox Gear panel

然后在着色器编辑面板中使用它

Shader Editor Panel


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接