下面的代码是在三维空间上绘制金字塔的代码,我的问题是OpenGL如何绘制金字塔的边缘?以什么顺序?
我知道在二维空间中,我们从左下顶点开始绘制,并且正好逆时针方向绘制。
我的金字塔代码:
glPushMatrix();
glTranslatef(0,-1,1);
glColor3f (1.0, 1.5,0.0);
glBegin(GL_LINE_LOOP);
glVertex3f(-1,-1,-1);
glVertex3f(-1,-1,1);
glVertex3f(1,-1,1);
glVertex3f(1,-1,-1);
glVertex3f(-1,-1,-1);
glVertex3f(0,0,0.5);
glVertex3f(-1,-1,1);
glVertex3f(1,-1,1);
glVertex3f(0,0,0.5);
glVertex3f(1,-1,-1);
glEnd();
glPopMatrix();
答案 0 :(得分:1)
在GL_LINE_LOOP
绘图模式下,OpenGL从0
顶点到1
,然后从1
到2
,2
绘制一条线3
等等......最后,它使用从最后一个顶点到loop
的一条线关闭0th
。这就是为什么它被称为line loop
。
编辑:
你对二维空间中的方向说了什么 - 如果你画线或一个线圈,它真的没什么关系。方向against the clock
主要用于绘制三角形,以区分前脸和后脸。使用它可以轻松地剪切许多不可见的三角形。