在括号中围绕glBegin和glEnd之间的代码块的目的是什么?

时间:2014-11-12 16:00:05

标签: c opengl

在括号中调用glBegin和glEnd之间围绕代码的目的是什么?它是否具有程序性或功能性目的,还是仅仅是为了美学和风格?以下代码在C。

glBegin(GL_POLYGON);
glColor3fv(GREEN);
glVertex3fv(BLOCK_VERTICES[0]);
glVertex3fv(BLOCK_VERTICES[1]);
glVertex3fv(BLOCK_VERTICES[2]);
glVertex3fv(BLOCK_VERTICES[3]);
glEnd();

glBegin(GL_POLYGON);
{
    glColor3fv(GREEN);
    glVertex3fv(BLOCK_VERTICES[0]);
    glVertex3fv(BLOCK_VERTICES[1]);
    glVertex3fv(BLOCK_VERTICES[2]);
    glVertex3fv(BLOCK_VERTICES[3]);
}
glEnd();

1 个答案:

答案 0 :(得分:4)

唯一的原因是风格,因为它对编写它的程序员感觉不错。

如果他/她也引入局部变量(即循环创建顶点)可能会有所帮助,但在C99及更高版本中也没有必要。