Hallo.
Also. Ich habe eine OpenGL Anwendung, (Bspw. Ein Spiel).
Dort wird zunächst ein Display erzeugt, also ein fenster mit breite und höhe.
Dann hab ich eine Projektionsmatrix, (es geht hier um orthografische projektion),
diese besitzt ja die werte für top right bottom left. Wenn ich nun für top 300
einsetze, dann wird daraus in einem 800x600 fenster top300, bottom300, right400 und left400.
Das heißt doch prinzipiell, die anwendung läuft mit einer auflösung von 800x600, oder?
Wenn ich nun die Größe des Fensters verändere, also zB in den fullscreen wechsel, aber die projektionsmatrix
gleich lasse - habe ich doch die gleiche auflösung wie vorher, richtig? (Die Objekte werden dann verpixelt angezeigt,
da sie ja nun mehr platz in anspruch nehmen).
Aber - heißt das nun, wenn ich dem user bspw erlauben will das Spiel im 1600x900 modus zu betrachten,
müsste ich einfach die projektionsmatrix verändern, also bei top 800 einsetzen? Oder nicht?
Aber größere Auflösung würde doch auch andere Koordinaten für zB gui elemente erfordern, das heißt die müssten mit
der auflösung skaliert werden oder wie? Wie würdet ihr das genau machen?
Ich lass das Programm im Moment nur mit den werten 300 300 400 400 und einem 800x600 fenster laufen,
und habe zB ein Gui Element auf position 10, 10, 100, 50. Dann müsste das doch in der auflösung 1900x600 einfach
zu 20, 20, 200, 100 skaliert werden, oder übersehe ich etwas? Und im 16:9 modus, also zB 1680x1050 (mein bildschirm)
müsste ich genauso verfahren, also einfach alles skalieren?
Ich hab irgendwie ein Denkblokade, wie man das nun richtig machen könnte