如何在WebGL中检查或转储纹理内容?

时间:2016-01-13 14:57:41

标签: webgl

我正在尝试使用WebGL中的浮点纹理实现计算,该计算涉及多个步骤,在每个步骤之间切换输出纹理。并非完全出乎意料,我的初步实现会导致黑屏。

有没有办法在WebGL中转储纹理内容,或者以其他方式检查它?在这种情况下,这将非常有用,可以逐步完成计算并检查纹理的内容是否正确。

我尝试了一些我发现的WebGL调试工具,但他们要么没有这种能力,要么就像Chrome Canvas Inspector那样不存在。我知道我可以这么做,重写我的代码停止在不同的步骤,将输出渲染为颜色,将结果保存到图像然后再次提取值,但我希望有一个更简单,更方便办法。

1 个答案:

答案 0 :(得分:0)

要阅读您的一个子结果,您可以尝试: readPixels https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.12

texImage2D,它是重载的,是较大的"纹理对象界面的一部分"。一个签名的行为几乎与readPixels相同 https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.8

然后可以将数据作为二进制数据从javascript中获取。但我想这是你不想要的艰难方式。