Mein Problem ist, dass ich gerne verschiedene Auflösungen unterstützen möchte. Mein Spiel ist komplett in 2D gehalten.
Code:
glMatrixMode(GL_PROJECTION);
glLoadIdentity;
glViewport(0,0,ClientWidth,ClientHeight);
glOrtho(0,1280,0,1024,0,128);
Jetzt stellt sich mir eine Frage. Kann ich mit den Koordinaten bei OpenGl einfach so vorgehen, dass ich für mich persönlich alles schreibe in der Auflösung 1280*1024 und wenn ich dann die Auflösungen der anderen mit ClientWidth und ClientHeight angebe rechnet mir das OpenGl dann alles normal um? Weil bei mir haben sich dann leichte Verschiebungen ergeben.
Bitte um Tipps, oder gibt es noch eine bessere Möglichkeit?
Allen ein frohes neues Jahr!
P.S. bitte mal nach Einsteigerfragen verschieben, hab ich jetzt gerade erst gesehen.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Hmm... Wenn man den Viewport auf ClientWidth und ClientHeight setzt müsste man, wenn man glOrtho immer mit den gleichen Werten, also konstant 1280x1024 füttert eigentlich die Koordinaten von OpenGL aus automatisch auf die passende Auflösung transformiert haben.
Das ist allerdings nicht geeignet, um dann Pixelgenaue Treffer mit der Maus zu realisieren. Man müsste dann auch noch die Koordinaten von der Maus in Bildkoordinaten transformieren, was aber nicht weiter schwer ist.
Bei höheren Auflösungen können dann aber Verzerrungen auffallen, außerdem musst du mit der Textausgabe aufpassen, falls du welche hast.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
logisch wenn ich meinen Quader so breit mache wie die Auflösung (z.B. 1024), dann sind es ja umgerechnet nur 1024 von 1280 und somit logisch das nicht alles vollgemalt wird :///. Oder 800, dann ist es natürlich bei 800 von 1280 nicht 100% Breit.
Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.