【发布时间】:2015-04-19 17:39:47
【问题描述】:
我有一个在 chrome 中运行的 webgl 页面。
chrome时不时会报如下错误。
[.WebGLRenderingContext]GL 错误:GL_INVALID_OPERATION:glDrawElements:尝试在没有缓冲区附加到启用属性 1 的情况下进行渲染
我尝试调试错误发生的位置,但我不能。我可以可靠地导致它发生,但是当我调试时,错误是在看似随机的行上报告的。我怀疑这是因为 gpu 渲染的异步特性。
有什么好的方法可以调试吗?
【问题讨论】:
-
尝试使用
gl.vertexAttrib4f(...)而不是gl.vertexAttrib1f(...)。我在这里遇到了类似的问题:stackoverflow.com/questions/28584589/…(仍然没有人回答)。 -
@Bush vertexAttrib4f 正在设置 disabled 顶点属性数组的所有值,用作 默认值,如果您打算这样做,则根本不需要实际上从缓冲区提供这些值。启用后就没有效果了。
-
@ScreeniusBlack 我知道并且我期望
uniform1f(对于uniform变量)也是如此,但我遇到了问题。看我的链接。
标签: javascript google-chrome webgl google-chrome-devtools