Zur Selbstbildung schreibe ich eine 2D-Platformer-Engine in C ++ mit SDL / OpenGL. Ich habe anfangs mit reinem SDL begonnen, indem ich die Tutorials auf sdltutorials.com und lazyfoo.net verwendet habe. Jetzt verwende ich SDL, um einen OpenGL-Rendering-Kontext zu erstellen und dann mit OpenGL-Funktionen zu rendern (speziell im Sofortmodus, aber ich lerne etwas über VAOs / VBOs ). Ich verwende SDL nur für Schnittstellen, Audio usw.
SDL verwendet ein Koordinatensystem mit dem Ursprung oben links auf dem Bildschirm und der positiven y-Achse nach unten. Es ist einfach, meine orthografische Projektion in OpenGL einzurichten, um dies widerzuspiegeln.
Ich weiß, dass Texturkoordinaten ein rechtes System mit Werten von 0 bis 1 sind. Wenn Sie die Textur vor dem Rendern vertikal spiegeln (also die Datei vor dem Laden spiegeln), erhalten Sie Texturen, die korrekt gerendert werden. Das ist in Ordnung, wenn ich zeichne die gesamte Textur, aber letztendlich werde ich Kachelsätze verwenden und kann mir Probleme vorstellen.
Worüber sollte ich beim Rendern besorgt sein, wenn ich dies tue?
Wenn jemand einen Rat hat oder dies selbst getan hat und auf zukünftige Fallstricke hinweisen kann, wäre das großartig, aber wirklich alle Gedanken wären willkommen.