Direct3D 9 verschiedene Auflösungen
-
Ist es möglich in Direct3D 9 2D Bilder auf eine Auflösung von 1920x1080 zu rendern und danach dem Benutzer anzupassen? Also immoment passe ich jedes einzelne Bild der Auflösung an aber je größer das Projekt wird desto unübersichtlicher wird der Code.
Es ist egal ob die Bilder damit zu irgendeiner Seite gestreckt werden.
-
Klar geht das.
Die Grösse des Backbuffers suchst du dir aus, da kannst du dann fix 1920x1080 nehmen wenn du magst.Und beim Present() kannst du dann angeben welcher Bereich des Backbuffers auf welchen Bereich des Fensters/Bildschirms abgebildet werden soll. (Default = ganzen Backbuffer auf ganzen Schirm, wobei bei unterschiedlicher Auflösung das Bild einfach passend gestreckt/gestaucht wird).
-
Danke!
Hab ganz vergessen die Auflösung von Direct3D beim Fenstermodus auch einzustellen O.o
Jetzt ist nur noch das Problem, dass die Mausposition vom Fenster nicht die vom Spie ist aber dann muss ich nur die noch hochskalieren.Das Spiel soll auf 1920x1080 standardmäßig von der Grafik her laufen aber wenn jemand eine andere Auflösung hat soll er das Spiel trotzdem spielen können da spielt eine leichte Streckung/Stauchung keine allzu große Rolle
-
Nachdem linear skaliert wird kann man die Mausposition einfach umrechnen, ja.
Die schönere Variante wäre vermutlich trotzdem die Backbuffer-Grösse an die Fenstergrösse/Auflösung anzupassen.
Wenn du viel pixelgenau positionieren willst ist das natürlich super-lästig.
-
Hab jetzt einfach die Position der Maus durch die aktuelle Auflösung mal 1920 bzw. 1080 genommen. Funktioniert
Schöner wärs wahrscheinlich aber das Problem ist nunmal das ich alles Pixelgenau positioniere aber ich will das ja eigentlich grundsätzlich für 1920x1080 machen und die anderen Auflösungen aber auch noch unterstützen.