Registriert: Do Jun 28, 2007 17:58 Beiträge: 193
Programmiersprache: Pascal, C
Hallo,
ich bin gerade dabei mehrere Surfaces in meine 2D-Engine einzubauen. Dazu verwende ich unter OpenGL ein Framebufferobject.
Mein Problem dabei ist jedoch, das alles, was ich auf eine Textur zeichne am Ende auf dem Kopf steht.
Folgenden Code verwende ich zum einstellen der Kamera. Solange ich nicht auf ein FBO zeichne habe ich auch keine Probleme damit.
Code:
glViewport(0,0,AWidth,AHeight);
glMatrixMode(GL_PROJECTION);
glLoadIdentity;
glOrtho(0,AWidth,AHeight,0,0,100);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity;
Es liegt auch definitiv nicht an meinen Texturkoordinaten und ich möchte diese auch nicht umdrehen.
Hat jemand vielleicht eine Idee woran mein Problem liegen könnte?
Wenn noch Code benötigt wird, fragt einfach danach.
Registriert: Mo Jan 31, 2005 11:02 Beiträge: 432 Wohnort: Rheinlandpfalz
Hi,
du verwendest den Ortho Modus so, dass der Ursprung links oben ist, anstatt links unten.
Code:
glOrtho(0,AWidth,AHeight,0,0,100);
Vllt baut das FBO darauf, dass der Ursprung links unten ist, und es kommt dir nur so vor, dass alles auf dem Kopf steht, weil du es nicht anders gewohnt bist...
Vllt rede ich auch grad Unsinn, da ich noch keine Erfahrungen mit FBO gemacht habe. Dann bitte ich dies zu entschuldigen
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Eine andere lösung wäre, einfach die Texturkoordinaten beim zeichnen des FBO-Inhalts zu vertauschen.
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
Registriert: Do Jun 28, 2007 17:58 Beiträge: 193
Programmiersprache: Pascal, C
Diese Lösung ist zwar die einfachste, jedoch nicht realisierbar, da die Texturkoordinaten unabhängig vom Grafiksystem (OpenGL/DirectX) erstellt werden. Und mit DirectX funktioniert es ohne Probleme.
Mitglieder in diesem Forum: 0 Mitglieder und 6 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.