Как мне повернуть gluCynlinder в OpenGL? - PullRequest
1 голос
/ 21 ноября 2010

Для контекста я пытаюсь смоделировать простой лего-кирпич 1x1 в OpenGL. Я настроил свою камеру, чтобы посмотреть на начало координат, и «вверх» в направлении Y. Я пытаюсь нарисовать цилиндр для маленького кусочка на кубе и не могу понять, как его повернуть. Код C ++:

//draw cylinder
glPushMatrix();
glTranslated(0.0, 0.4 , 0.0);
//glRotatef(angle, 1.0f, 0.0f, 0.0f);   
GLUquadricObj * qobj = gluNewQuadric();
gluCylinder(qobj, 0.24, 0.24, 0.18, 16, 16);
glPopMatrix();

Я пытаюсь повернуть его вокруг оси x на 90 градусов, но glRotatef, похоже, ничего не делает или просто исчезает. Чего мне не хватает?

1 Ответ

1 голос
/ 21 ноября 2010

хорошо сработало для меня:

glPushMatrix();
GLUquadricObj * qobj = gluNewQuadric();
glTranslated(0.0, 0.4 , 0.0);
glRotatef(angle * 10, 0.0f, 1.0f, 0.0f);   
gluCylinder(qobj, 1.24, 1.24, 1.18, 16, 16);
gluDeleteQuadric(qobj);
glPopMatrix();

Независимо от того, какой порядок glRotate и glTranslate я использовал.

...