Вращение объекта без «анимации» - PullRequest
1 голос
/ 14 августа 2011

Я пытаюсь повернуть объект в OpenGL без его многократного вращения вокруг своей оси. Есть ли способ исправить это или мне нужно получить какую-нибудь другую библиотеку или что-то еще?

Я просто пытаюсь нарисовать несколько плоских квадратов и повернуть их, чтобы создать простую комнату с 3 стенами на 1 этаже для проверки освещения и теней.

Ответы [ 2 ]

1 голос
/ 14 августа 2011

Вам просто нужно установить преобразование для объекта.

Например - раздел 9.020 из страниц ресурсов OpenGL имеет следующий пример:

glPushMatrix();
glRotatef(90., 1., 0., 0.);
gluCylinder(quad,1,1,2,36,12);
glPopMatrix();

Этоповернет цилиндр на 90 градусов вокруг оси X

1 голос
/ 14 августа 2011

Хотя ваш вопрос немного неясен, похоже, что вы не знаете glPushMatrix и glPopMatrix.С помощью glPushMatrix вы можете сохранить выбранную матрицу, а затем восстановить ее с помощью glPopMatrix.Но обязательно следите за каждым glPushMatrix с соответствующим glPopMatrix где-то во времени.Но вам определенно не нужно использовать другую библиотеку.

Так что я думаю, что вы хотите сделать

for(i=0; i<3; ++i)
{
    glPushMatrix();
    glRotatef(...);
    wall(i);
    glPopMatrix();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...