Mit OpenGL Ich versuche, eine primitive Karte meines Campus zu zeichnen.Wie funktioniert Zoomen, Schwenken und Drehen?
Kann mir jemand erklären, wie das Schwenken, Zoomen und Drehen normalerweise implementiert wird?
Zum Beispiel, mit Panning und Zoom, ist das nur ich Anpassung meines Ansichtsfensters? Also zeichne und zeichne ich alle meine Linien, die meine Karte bilden, und wenn der Benutzer dann klickt und zieht, passt er mein Ansichtsfenster an?
Ändert sich beim Panning die X/Y-Werte meines Ansichtsfensters und vergrößert/verkleinert es mein Ansichtsfenster um einen bestimmten Betrag? Was ist mit Rotation?
Muss ich für die Rotation affine Transformationen für jede Polylinie durchführen, die meine Campus-Karte darstellt? Ist das nicht teuer auf einer ordentlichen Karte?
Oder ist das Ansichtsfenster gleich und das Schwenken/Zoomen/Drehen erfolgt auf andere Weise?
Zum Beispiel, wenn Sie in diesem link gehst, wirst du ihn genau Schwenken und Zoomen sehen beschreiben, wie ich oben haben, durch das Ansichtsfenster zu ändern.
Ist das nicht korrekt?
Lassen Sie mich hinzufügen, dass zu keinem Zeitpunkt der "Viewport" (wie durch glViewport gesetzt) in diesen Prozess kommt. Das Ansichtsfenster legt fest, in welchen Bereich Ihres Fensters Sie rendern werden (das ist nicht wirklich richtig, aber denken Sie so vorerst daran) und wird sich normalerweise über das gesamte Fenster erstrecken. – Thomas