WebGL:INVALID_OPERATION:useProgram:程序无效
WebGL: INVALID_OPERATION: useProgram: program not valid
我正在学习 WebGl 并尝试将 Web 挖掘脚本转换为执行椭圆曲线加法。我首先用来自 vanitygen-plus 的代码替换了工作 GL 代码,尽管它比我做的更多 need/want。我也开始替换传递给预期变量的变量,并删除了一堆不需要的 JavaScript。
我现在收到错误“glminer.js:54 WebGL: INVALID_OPERATION: useProgram: program not valid” currently testing in chrome 91 on windows 10.
不幸的是,这对我没有多大帮助,因为它没有告诉我什么是无效的。
var program = gl.createProgram();
vShader = gl.createShader(gl.VERTEX_SHADER);
gl.shaderSource(vShader,vShaderQuellcode);
gl.compileShader(vShader);
// Check for any compilation error
if (!gl.getShaderParameter(vShader, gl.COMPILE_STATUS)) {
console.log(gl.getShaderInfoLog(vShader));
}
gl.attachShader(program,vShader);
gl.linkProgram(program);
gl.useProgram(program); // error here
我会发布 shader-fs.js 这是从 vanitygen-plus 替换的代码,但它让我有 7K 个字符。超限
要获取有关程序失败原因的更多信息,您可以输出程序信息日志。在链接和使用程序之间添加以下调试代码:
gl.linkProgram(program);
// add this for extra debugging
if ( !gl.getProgramParameter( program, gl.LINK_STATUS) ) {
var info = gl.getProgramInfoLog(program);
throw new Error('Could not compile WebGL program. \n\n' + info);
}
gl.useProgram(program); // error here
我正在学习 WebGl 并尝试将 Web 挖掘脚本转换为执行椭圆曲线加法。我首先用来自 vanitygen-plus 的代码替换了工作 GL 代码,尽管它比我做的更多 need/want。我也开始替换传递给预期变量的变量,并删除了一堆不需要的 JavaScript。 我现在收到错误“glminer.js:54 WebGL: INVALID_OPERATION: useProgram: program not valid” currently testing in chrome 91 on windows 10. 不幸的是,这对我没有多大帮助,因为它没有告诉我什么是无效的。
var program = gl.createProgram();
vShader = gl.createShader(gl.VERTEX_SHADER);
gl.shaderSource(vShader,vShaderQuellcode);
gl.compileShader(vShader);
// Check for any compilation error
if (!gl.getShaderParameter(vShader, gl.COMPILE_STATUS)) {
console.log(gl.getShaderInfoLog(vShader));
}
gl.attachShader(program,vShader);
gl.linkProgram(program);
gl.useProgram(program); // error here
我会发布 shader-fs.js 这是从 vanitygen-plus 替换的代码,但它让我有 7K 个字符。超限
要获取有关程序失败原因的更多信息,您可以输出程序信息日志。在链接和使用程序之间添加以下调试代码:
gl.linkProgram(program);
// add this for extra debugging
if ( !gl.getProgramParameter( program, gl.LINK_STATUS) ) {
var info = gl.getProgramInfoLog(program);
throw new Error('Could not compile WebGL program. \n\n' + info);
}
gl.useProgram(program); // error here