2017-06-04 18 views
0

我遇到了一个问题,我用下面的代码创建了一个圆柱体,并且我一直在试图移动它(回来,以便它的中心位于灰色光束的位置)。gluCylinder与glTranslate

但是,输出完全没有移动圆柱体,我没有发现问题是什么?

GLfloat plane[] = {0.0, 0.0, 1.0, 1.0}; 
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, plane); 
glBegin(GL_POLYGON); 
    glPushMatrix(); 
     glTranslatef(0.0f, 3.0f, -11.0f); 
     GLUquadricObj *quad = gluNewQuadric(); 
     gluCylinder(quad, 2, 2, 22, 30, 30); 
    glPopMatrix(); 
glEnd(); 

glFlush(); /* Complete any pending operations */ 
glutSwapBuffers(); 

回答

2

您必须删除glBeginglEnd电话。这两个命令之间不允许你调用的函数。

+0

哦对,我看到 所以基本上,开始/结束应该永远是最内在的东西呢? – Astantos

+0

@Astantos:是的。在这里,我相信,'gluCylinder'已经叫它们了。 – ybungalobill