在 webgl 中创建一个长方体(不是立方体)

Creating a cuboid in webgl(not a cube)

任何人都可以提供完整的 webgl 代码来创建长方体(不是立方体)吗??

我正在尝试在初始化缓冲区中使用以下坐标()

    cuboidVertexPositionBuffer1 = gl.createBuffer();
    gl.bindBuffer(gl.ARRAY_BUFFER, cuboidVertexPositionBuffer1);
    vertices = [
        //front face
        0.0,      0.0,    0.0,
        0.0154,   0.0,    0.0,    //X
        0.0154,   0.062,  0.0,
        0.0,      0.062,  0.0,


        // Back face
        0.0,      0.0,   -0.04,
        0.0,      0.062, -0.04,    
        0.0154,   0.062, -0.04,
        0.0154,   0.0,   -0.04,


        // Top face
        0.0,      0.062, -0.04,
        0.0,      0.062,  0.0,
        0.0154,   0.062,  0.0,
        0.0154,   0.062, -0.04,


        // Bottom face
        0.0,      0.0,   -0.04,
        0.0154,   0.0,   -0.04,      //Y
        0.0154,   0.0,    0.0,
        0.0,      0.0,    0.0,


        // Right face
        0.0154,   0.0,   -0.04,
        0.0154,   0.062,   -0.04,
        0.0154,   0.062,  0.0,
        0.0154,   0.0,    0.0,


        // Left face
        0.0,      0.0,   -0.04,
        0.0,      0.0,    0.0,
        0.0,      0.062,  0.0,
        0.0,      0.062, -0.04
        ];

       gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(vertices), gl.STATIC_DRAW);
    cuboidVertexPositionBuffer1.itemSize = 3;
    cuboidVertexPositionBuffer1.numItems = 24;



    cuboidVertexIndexBuffer1 = gl.createBuffer();
    gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, cuboidVertexIndexBuffer1);
    var cubeVertexIndices = [
        0, 1, 2,      0, 2, 3,    // Front face
        4, 5, 6,      4, 6, 7,    // Back face
        8, 9, 10,     8, 10, 11,  // Top face
        12, 13, 14,   12, 14, 15, // Bottom face
        16, 17, 18,   16, 18, 19, // Right face
        20, 21, 22,   20, 22, 23  // Left face
    ];
    gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint16Array(cubeVertexIndices), gl.STATIC_DRAW);
    cuboidVertexIndexBuffer1.itemSize = 1;
    cuboidVertexIndexBuffer1.numItems = 36;

问题出在右侧,当我旋转相机时,随着旋转度数的增加,X 与 Y 合并。

我发现我的错误实际上坐标没有任何错误问题是由于近屏幕 clipper.I 只是改变了它的值并且它起作用了。