我正在尝试编译一个“垃圾”着色器,向 WebGL 提供一些垃圾代码(请参阅此处获取小提琴):
gl = $('canvas')[0].getContext('experimental-webgl');
source = 'garbage12398sv;aa[]|\[12';
shader = gl.createShader(gl.FRAGMENT_SHADER);
gl.shaderSource(shader, source);
gl.compileShader(shader);
console.log(gl.getError() === gl.NO_ERROR);
令人惊讶的是,gl.getError() === gl.NO_ERROR
尽管true
要求 WebGL 编译一些垃圾。
为什么不getError
标记错误?如何获取有关着色器编译状态的错误信息?