顶点计数器/顺时针

时间:2012-12-25 16:56:55

标签: opengl vertices

我正在阅读几本关于OpenGL的书,其中两本书总是逆时针定义顶点。从我读到的内容来看,这非常重要,因为它决定了正面和背面的位置。

但我也正在阅读http://www.arcsynthesis.org/gltut/上的教程,并且他顺时针定义它们。

const float vertexPositions[] = {
    0.75f, 0.75f, 0.0f, 1.0f,
    0.75f, -0.75f, 0.0f, 1.0f,
    -0.75f, -0.75f, 0.0f, 1.0f,
};

我不应该总是使用逆时针符号,因为那是opengl的默认值吗?

为什么类型为float?不应该是GLfloat吗?

1 个答案:

答案 0 :(得分:9)

  

我不应该总是使用逆时针符号,因为那样   opengl中的默认值?

这是你的选择。您可以使用CCW或CW表示法。您始终可以使用glFrontFace()覆盖此行为。硬件没有区别,哪种方式可以工作,但是,我想,在尝试使用CCW之类的第三方库时,选择CW会导致一些意想不到的麻烦。

  

为什么类型是浮点数?不应该是GLfloat吗?

应该是GLfloat。另一方面,在大多数平台上floatGLfloat完全相同,并且找不到任何差异。从可移植性的角度来看,使用GLfloat是更好的做法。另一个考虑因素:它强调变量用于图形渲染,因此这是一件好事。