Вращение OpenGL в точке - PullRequest
       17

Вращение OpenGL в точке

1 голос
/ 03 октября 2011

Я хочу повернуть фигуру в opengl, но я хочу повернуть ее в точке.А именно, у меня есть цилиндр, и я хочу повернуть его так, чтобы он выглядел так, как будто он вращается внизу, и «размер» вращения увеличивается до тех пор, пока объект не упадет на землю.Как бы я сделал такой поворот в opengl?

1 Ответ

3 голосов
/ 03 октября 2011
  1. Перевести на источник
  2. Повернуть
  3. Перевести обратно

Итак, если вы хотите вращаться вокруг (a, b, c),вы бы перевели (-a, -b, -c) на шаге 1 и (a, b, c) на шаге 3.

(Кстати, не бойтесь количества операцийВнутренне все, что вы делаете, это умножаете матрицу преобразования три раза, но конвейер, который преобразует вершины, не зависит от того, сколько операций вы сделали, он все еще использует только одну заключительную матрицу. Волшебство использования матрицы для преобразования.)

...