cocos creator shader报错

Uncaught TypeError: Failed to execute ‘getUniformLocation’ on ‘WebGLRenderingContext’: parameter 1 is not of type ‘WebGLProgram’.
at TheClass.updateUniforms (CCGLProgram.js:272)
at Main.onLoad (Main.js:19)
at CCClass.eval [as _invoke] (eval at createInvokeImpl (component-scheduler.js:244), :3:65)
at CCClass.invoke (component-scheduler.js:142)
at CCClass.activateNode (node-activator.js:220)
at cc_Scene._activate (CCScene.js:93)
at TheClass.runSceneImmediate (CCDirector.js:608)
at boot.js:378
at CCLoader. (CCAssetLibrary.js:244)
at CCLoader.js:238

onLoad: function () {
    this._glProgram = Shader.getShaderByName("Test");
    this._glProgram.link();
    this._glProgram.updateUniforms();//这一行报错
}

在模拟器上可以正常使用,网页上就报错了,网上资料不较少。。这个要怎么解决。

这个问题,你可以看一下网页之前的报错,应该是你的shader文件编译报错了,找一下,很可能是某些变量赋值或者比较之类的错误

1赞