WebGL未呈现可能与警告有关

WebGL未呈现可能与警告有关,webgl,Webgl,我是OpenGL的新手,正在尝试学习一点WebGl。我发现,虽然很棒,但似乎有点过时了。我实现了我自己的版本。我故意省略了正方形,然而,一旦我把所有东西都连接好,我就看不到三角形了。我在控制台中发现一个警告 WARNING: Attribute 0 is disabled. This has signficant performance penalty 还有一个似乎很相似,但从差异来看,我无法让它工作,我也无法让他说什么。这是我的绘图代码供参考 drawScene() { this.g

我是OpenGL的新手,正在尝试学习一点WebGl。我发现,虽然很棒,但似乎有点过时了。我实现了我自己的版本。我故意省略了正方形,然而,一旦我把所有东西都连接好,我就看不到三角形了。我在控制台中发现一个警告

WARNING: Attribute 0 is disabled. This has signficant performance penalty
还有一个似乎很相似,但从差异来看,我无法让它工作,我也无法让他说什么。这是我的绘图代码供参考

drawScene() {
    this.gl.viewport(0, 0, this.gl.viewportWidth, this.gl.viewportHeight);
    this.gl.clear(this.gl.COLOR_BUFFER_BIT | this.gl.DEPTH_BUFFER_BIT);
    mat4.perspective(45, this.gl.viewportWidth / this.gl.viewportHeight, 0.1, 100.0, this.pMatrix);
    mat4.identity(this.mvMatrix);
    mat4.translate(this.mvMatrix, this.mvMatrix, [-1.5, 0.0, -7.0]);
    this.gl.bindBuffer(this.gl.ARRAY_BUFFER, this.triangleVertexPositionBuffer);
    this.gl.vertexAttribPointer(this.shaderProgram.vertexPositionAttribute, this.triangleVertexPositionBuffer.itemSize, this.gl.FLOAT, false, 0, 0);
    this.setMatrixUniforms();
    this.gl.drawArrays(this.gl.TRIANGLES, 0, this.triangleVertexPositionBuffer.numItems);
  }
有没有人在这里有经验可以帮助指导新手?

所以回头看看会有很大帮助。有一件事要考虑的是它不谈论他们所导入的GLUTILS JS文件,所以这是需要的。似乎警告消息所指的是在较新版本中需要明确着色器的参数。这是一个你会注意到这是不同的

// NEEDED to prevent warning
    this.vertexPositionAttribute = this.gl.getAttribLocation(this.shaderProgram, "aVertexPosition");
    this.gl.enableVertexAttribArray(this.vertexPositionAttribute);
当我以这种方式设置着色器属性时,我避免了警告