gpt4 book ai didi

javascript - gl.attachShader 不是对象

转载 作者:行者123 更新时间:2023-11-30 13:51:33 25 4
gpt4 key购买 nike

我已将 webGL2 添加为 Canvas 的上下文,但出现错误提示:

Uncaught TypeError: Failed to execute 'attachShader' on 'WebGL2RenderingContext': parameter 2 is not of type 'WebGLShader'.
at CreateProgram (index.html:88)
at index.html:107

我还:

  • 尝试在“canvas.getContext...”上使用“webgl”而不是“webgl2”

我正在按照这里的教程进行操作:https://webgl2fundamentals.org/webgl/lessons/webgl-fundamentals.html

完整代码:

https://drive.google.com/file/d/1Nl10-ZEP8JujGXMwHHVGaDF6KdhvZcfg/view?usp=sharing

这里发现的问题:

function CreateProgram(gl,vertexShader,fragmentShader) {

var program = gl.createProgram();
gl.attachShader(program, vertexShader);
gl.attachShader(program, fragmentShader);
gl.linkProgram(program);

var success = gl.getProgramParameter(program,gl.LINK_STATUS);

if(success) {

return program;

}

//Else delete program
console.log(gl.getProgramInfoLog(program));
gl.deleteProgram(program);

最佳答案

您的 GLSL 片段存在语法错误,导致类型错误。

注意第47行

你应该使用 outColour = vec4(1,0,0.5,1); 而不是 outColour = vec4{1,0,0.5,1};

关于javascript - gl.attachShader 不是对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58136876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com