@neon3
электромеханик по автоматизации

Как повернуть объект на определенный угол в OpenGL?

Пока умею вращать только с помощью glRotatef(theta,0.1f,0.1f,0.0f);
Хотелось бы научиться поворачивать на определенный угол, примерно так https://vk.com/videos57033099?z=video57033099_1714...
  • Вопрос задан
  • 1361 просмотр
Решения вопроса 1
Вам необходимо научиться применять геометрические преобразования к входным геометриям (вершинам ваших мешей).
В любом случае это происходит путем вычисления и использования матриц поворота. Для получения математической основы гуглите операции с матрицами и векторами (линейная алгебра, выч. геометрия).
Как это делать конкретно в OpenGL - зависит от используемой вами версии API. Если это "старый" OpenGL, например версии 2.0, то там glRotate и прочие функции оперирования матрицами мировых и видовых преобразований. Если это OpenGL 3.0 и позже - то читайте про вершинные шейдеры и преобразования вершин в шейдерах.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
zagayevskiy
@zagayevskiy
Android developer at Yandex
glRotatef(angle, x, y, z); вращает на угол angle вокруг вектора (x, y, z). Если вы хотите вращать относительно конкретной оси, задавайте вектор вращения так: (1, 0, 0) - это, например относительно оси х.
Ответ написан
@asd111
Учи матрицы и кватернионы.
Грубо говоря перемножение на матрицу это и есть поворот.
С кватернионами я не силен. Но принцип примерно тот же надо помножить или тип того и будет поворот ))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы