Używanie OpenGL Próbuję narysować prymitywną mapę mojego kampusu.Jak działa powiększanie, przesuwanie i obracanie?
Czy ktoś może mi wyjaśnić, w jaki sposób przesuwanie, powiększanie i obracanie jest zwykle realizowane?
Na przykład, przy panoramowaniu i powiększaniu, czy to po prostu ja dostosowuję moją rzutnię? Więc rysuję i rysuję wszystkie moje linie, które tworzą moją mapę, a następnie, gdy użytkownik klika i przeciąga, dostosowuje moją widoczność?
Aby przesuwać obraz, przesuwa on wartości X/Y w mojej rzutni, a powiększanie powoduje zwiększenie/zmniejszenie okna podglądu o określoną wartość? A co z rotacją?
Czy muszę wykonywać transformacje afiniczne dla każdej polilinii reprezentującej moją mapę kampusu? Czy nie będzie to kosztowne zrobić w locie na przyzwoitej mapie?
Czy ekran jest taki sam, a przesuwanie/powiększanie/obracanie odbywa się w inny sposób?
Na przykład, jeśli pójdziesz do tej link zobaczysz go opisać panoramowanie i powiększanie dokładnie jak mam powyżej, poprzez modyfikowanie rzutni.
Czy to nie jest poprawne?
Pozwolę sobie dodać, że w żadnym momencie nie pojawia się "widok" (ustawiony przez glViewport). Okna podglądu określają, w jakim regionie okna będzie renderowany (to nie jest prawda, ale na razie tak myślę) i zazwyczaj obejmuje całe okno. – Thomas