WebGL顶点数组顺序

时间:2017-12-14 21:06:28

标签: webgl

我刚刚阅读了这个mozilla WebGL教程并提出了一个问题 https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Tutorial/Adding_2D_content_to_a_WebGL_context

我想知道为什么一个简单方块的位置数组应该是

const positions = [
    -1.0,  1.0, // 1 - top left
     1.0,  1.0, // 2 - top right
    -1.0, -1.0, // 3 - bottom left
     1.0, -1.0, // 4 - bottom right
];

而不是

const positions = [
    -1.0,  1.0, // 1 - top left
     1.0,  1.0, // 2 - top right
     1.0, -1.0, // 4 - bottom right
    -1.0, -1.0, // 3 - bottom left
];

对我来说更有意义。

在第一种情况下(正确的),似乎从顶点到顶点绘制正方形的线应该交叉,但显然它不会那样工作。

1 个答案:

答案 0 :(得分:1)

他们在该示例中使用TRIANGLE_STRIP索引:

  

使用顶点v0绘制一系列三角形(三边形多边形),   v1,v2,然后是v2,v1,v3(注意顺序),然​​后是v2,v3,v4,依此类推。   排序是为了确保三角形全部用   相同的方向,以便条带可以正确地形成一部分   表面上。

Wikipedia - Triangle strip