Javascript 指数的顺序重要吗?

Javascript 指数的顺序重要吗?,javascript,webgl,indices,vertices,Javascript,Webgl,Indices,Vertices,你可以看到,三角形有3个点。问题是除非我将索引更改为 this._vertices = new Float32Array([ -0.5, 0, 0, // left 0, 0.5, 0, // top 0.5, 0, 0 // right ]); this._indicies = new Uint16Array([0, 1, 2]); 你知道为什么吗?为什么指数的顺序很重要?我如何知道指数的正确顺序 另外

你可以看到,三角形有3个点。问题是除非我将索引更改为

this._vertices = new Float32Array([
            -0.5, 0, 0, // left
            0, 0.5, 0, // top
            0.5, 0, 0 // right
        ]);

this._indicies = new Uint16Array([0, 1, 2]);
你知道为什么吗?为什么指数的顺序很重要?我如何知道指数的正确顺序


另外,当将绘制类型设置为“线循环”时,它可以工作,但对三角形不起作用。

如果启用了“消隐”(gl.CULL_面)则如果三角形的顶点在剪辑空间中为逆时针方向(即,在顶点着色器之后),则会消隐三角形。您可以选择使用
gl.cullFace(…)


如果启用了消隐功能
gl.enable(gl.CULL\u FACE)
,则如果三角形的顶点在剪辑空间中为逆时针方向(即,在顶点着色器之后),则将消隐三角形。您可以选择使用
gl.cullFace(…)


如果启用面剔除,顶点的顺序确实很重要。三角形的正面和背面取决于设定的缠绕顺序。如果启用了逆时针缠绕(默认),则屏幕上按逆时针顺序显示顶点的面被视为“正面”


如果启用了消隐,则只会绘制从选定一侧查看的三角形。

如果启用了面消隐,顶点的顺序确实很重要。三角形的正面和背面取决于设定的缠绕顺序。如果启用了逆时针缠绕(默认),则屏幕上按逆时针顺序显示顶点的面被视为“正面”


如果启用消隐,则只绘制从选定边查看的三角形。

什么是点循环?WebGL中没有这样的东西?对不起,那是个打字错误。我是说线环点环是什么?WebGL中没有这样的东西?对不起,那是个打字错误。我是说,我觉得这很有道理。我甚至不记得我启用了淘汰。非常感谢!啊,我觉得这很有道理。我甚至不记得我启用了淘汰。非常感谢!
this._indicies = new Uint16Array([0, 2, 1]);
     0             0
    / \           / \
   /   \         /   \
  2-----1       1-----2

clockwise   counter-clockwise