我正在试图用三种不同颜色的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函数,但它也不起作用。我应该使用哪个功能来改变圆柱的轴。
答案 0 :(得分:3)
永远不要在gluCylinder
块内调用glBegin()/glEnd()
。那里只允许一小部分GL命令,glColor
就是其中之一。 glRotate
虽然不是(并且只会生成GL错误并将被忽略)。从代码中删除glBegin()/glEnd()
对,轮换实际上可以正常工作。