【发布时间】:2013-12-30 10:00:06
【问题描述】:
我来了
Uncaught TypeError: Type error
当我启用了 WebGL Inspector(在 Chrome 中)时,此错误源自以“VM”开头并以数字序列结尾的文件(不确定是什么代码拥有它——它是核心浏览器行为还是WebGLInspector?)。这条线。
// Call real function
var result = originalFunction.apply(context.rawgl, arguments);
我启用了the debug context 并记录了所有 WebGL 调用。这是中断的呼叫:
uniform1i(3, 0)
在 WebGL 检查器中,我看到索引 3 处的制服是我片段着色器中的 uniform sampler2D uSampler。 API 文档说这是一个 GLint,所以类型是正确的。我也尝试先设置一些其他制服,但它们也因同样的错误而失败。
我正在修改我在遵循教程后编写的一些现有代码,其中我要添加的内容之一是交错的顶点数据。我确信这是根本原因,但是,这是我第三次遇到这样的错误,我唯一的办法就是修改代码直到它消失。感觉很随意,令人沮丧。
还有更多的调试技术吗?我认为这是着色器中的错误。有什么方法可以从他们那里获取堆栈跟踪吗?
【问题讨论】:
-
你试过其他浏览器吗?我发现 Firefox 有时会给我更多的错误细节,有时也会给我 IE。 FF27 中还有一个新的shader editor 功能,但我自己还没有尝试过。
标签: webgl