OpenGL气缸

时间:2013-12-07 17:06:36

标签: c++ opengl glut

我正在试图用三种不同颜色的3个圆柱显示轴。这是我的代码;

glDisable(GL_LIGHTING);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0,1,0);
glBegin(GL_POLYGON);
GLUquadricObj *obj = gluNewQuadric();

glRotated(90.0f, 1.0f, 0.0f, 0.0f);
gluCylinder(obj, 1.0, 1.0, 10, 30, 30);

glEnd();

glEnable(GL_LIGHTING);

当我改变“glColor3f(0,1,0);”重视它的颜色变化,但我无法实现圆柱的变化轴。它总是在z轴上。当我改变“glRotated(90.0f,1.0f,0.0f,0.0f);”值仍然表示在Z轴上。我也尝试过glRotatef函数,但它也不起作用。我应该使用哪个功能来改变圆柱的轴。

1 个答案:

答案 0 :(得分:3)

永远不要在gluCylinder块内调用glBegin()/glEnd()。那里只允许一小部分GL命令,glColor就是其中之一。 glRotate虽然不是(并且只会生成GL错误并将被忽略)。从代码中删除glBegin()/glEnd()对,轮换实际上可以正常工作。