为什么我应该逆时针而不是顺时针创建顶点?

时间:2013-12-09 17:46:14

标签: opengl-es opengl-es-1.1

我发现OpenGL ES 1.1可以双向工作。以下是四元组的示例:

GLfloat verts[] = {
    0, height,      // left bottom
    width, height,  // right bottom
    0, 0,           // left top
    width, 0        // right top
};

其他方向:

GLfloat verts[] = {
    0, height,
    0, 0,
    width, height,
    width, 0
};

使用glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);

进行渲染

有些人说你应该按逆时针顺序创建顶点。为什么呢?

1 个答案:

答案 0 :(得分:1)

OpenGL(以及它的亲戚-ES,WebGL等)具有称为“面部剔除”的功能,其中缠绕方向确定面部的正面或背面是否可见。使用面部剔除可以省略前脸或后脸的渲染。

默认情况下,OpenGL假定前面的逆时针(CCW)绕组(与右手法向矢量计算一致)。但这可以改变。