Когда вы вращаете камеру, она обычно меняет мир -> преобразование камеры путем умножения матрицы преобразования на ваше аффинное преобразование вращения / панорамирования / масштабирования. Поскольку все ваши точки перерисовываются в каждом кадре, новая матрица применяется к вашим точкам и создает видимость поворота.

ьзуя OpenGL, я пытаюсь нарисовать примитивную карту моего кампуса.

Может кто-нибудь объяснить мне, как обычно осуществляется панорамирование, масштабирование и вращение?

Например, с панорамированием и масштабированием, это просто я настраиваю свое окно просмотра? Поэтому я строю и рисую все свои линии, которые составляют мою карту, а затем, когда пользователь щелкает и перетаскивает его, он корректирует мою область просмотра?

Для панорамирования это смещает значения x / y моего окна просмотра, а для масштабирования - увеличивает / уменьшает мое окно просмотра на некоторое количество? Как насчет вращения?

Для вращения, я должен сделать аффинные преобразования для каждой полилинии, которая представляет мою карту кампуса? Разве это не будет дорого делать на лету на карте приличного размера?

Или область просмотра осталась прежней и панорамирование / масштабирование / вращение выполняется каким-либо другим способом?

Например, если вы идете к этомуссылка вы увидите, как он описывает панорамирование и масштабирование точно так же, как у меня выше, путем изменения области просмотра.

Это не правильно?

Ответы на вопрос(3)

Ваш ответ на вопрос