Когда вы вращаете камеру, она обычно меняет мир -> преобразование камеры путем умножения матрицы преобразования на ваше аффинное преобразование вращения / панорамирования / масштабирования. Поскольку все ваши точки перерисовываются в каждом кадре, новая матрица применяется к вашим точкам и создает видимость поворота.
ьзуя OpenGL, я пытаюсь нарисовать примитивную карту моего кампуса.
Может кто-нибудь объяснить мне, как обычно осуществляется панорамирование, масштабирование и вращение?
Например, с панорамированием и масштабированием, это просто я настраиваю свое окно просмотра? Поэтому я строю и рисую все свои линии, которые составляют мою карту, а затем, когда пользователь щелкает и перетаскивает его, он корректирует мою область просмотра?
Для панорамирования это смещает значения x / y моего окна просмотра, а для масштабирования - увеличивает / уменьшает мое окно просмотра на некоторое количество? Как насчет вращения?
Для вращения, я должен сделать аффинные преобразования для каждой полилинии, которая представляет мою карту кампуса? Разве это не будет дорого делать на лету на карте приличного размера?
Или область просмотра осталась прежней и панорамирование / масштабирование / вращение выполняется каким-либо другим способом?
Например, если вы идете к этомуссылка вы увидите, как он описывает панорамирование и масштабирование точно так же, как у меня выше, путем изменения области просмотра.
Это не правильно?