WebGL应用程序无法正常工作

时间:2016-03-17 18:45:24

标签: javascript html webgl c9.io

我刚刚在WebGL上破冰,我试图制作一个非常基本的程序。我想要的只是一块帆布,一半是彩色的,对角线的。到目前为止,我得到了这个代码来尝试绘制三角形:

 var triangle_vertex=[
        -1,-1,
        1,-1,
        1,1,
        ];

        var TRIANGLE_VERTEX= GL.createBuffer ();
        GL.bindBuffer(GL.ARRAY_BUFFER, TRIANGLE_VERTEX);
        GL.bufferData(GL.ARRAY_BUFFER, new Float32Array(triangle_vertex), GL.STATIC_DRAW);

        var triangle_faces = [0,1,2];
        var TRIANGLE_FACES = GL.createBuffer ();
        GL.bindBuffer(GL.ELEMENT_ARRAY_BUFFER, TRIANGLE_FACES);
        GL.bufferData(GL.ELEMENT_ARRAY_BUFFER, new Uint16Array(triangle_faces), GL.STATIC_DRAW);

        GL.clearColor(0.0, 0.0, 0.0, 0.0);
        function animate() 
        {
            GL.viewport(0.0, 0.0, canvas.width, canvas.height);
            GL.clear(GL.COLOR_BUFFER_BIT);
            GL.bindBuffer(GL.ARRAY_BUFFER, TRIANGLE_VERTEX);

            GL.vertexAttribPointer(_position, 2, GL.FLOAT, false,4*2,0);

            GL.bindBuffer(GL.ELEMENT_ARRAY_BUFFER, TRIANGLE_FACES);
            GL.drawElements(GL.TRIANGLES, 3, GL.UNSIGNED_SHORT, 0);
            GL.flush();
            window.requestAnimationFrame(animate);
        }
    animate();

虽然没有画它。它只是绘制一个红色画布,就像我在HTML文件中告诉它的那样。我用c9.io来运行游戏的预览,那是问题吗?如果没有,我的错误在哪里?如有必要,我可以提供更多代码。谢谢。

0 个答案:

没有答案