Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Jul 15, 2025 20:16

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Darstellung mit FBO auf dem Kopf
BeitragVerfasst: Mo Mär 10, 2008 14:23 
Offline
DGL Member

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:
  1.  
  2. glViewport(0,0,AWidth,AHeight);
  3.  
  4. glMatrixMode(GL_PROJECTION);
  5.  
  6. glLoadIdentity;
  7. glOrtho(0,AWidth,AHeight,0,0,100);
  8.  
  9. glMatrixMode(GL_MODELVIEW);
  10. glLoadIdentity;
  11.  


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.

Schon einmal Danke,
Andreas

_________________
http://audorra.sourceforge.net//http://andorra.sourceforge.net


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 10, 2008 15:08 
Offline
DGL Member
Benutzeravatar

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:
  1. 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 ;)

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 10, 2008 16:25 
Offline
DGL Member

Registriert: Do Jun 28, 2007 17:58
Beiträge: 193
Programmiersprache: Pascal, C
Hallo,

ich habe extra die Koordinaten bei glOrhto vertauscht, sodass ich ein "normales" Computer Koordinatensystem habe.

Ich habe nun folgenden Code eingefügt, nun scheint es (vorerst) zu funktionieren:
Code:
  1.  
  2. procedure TOGLApplication.Setup2DScene(AWidth, AHeight: integer);
  3. begin
  4.   glViewport(0,0,AWidth,AHeight);
  5.  
  6.   glMatrixMode(GL_PROJECTION);
  7.  
  8.   glLoadIdentity;
  9.   if FRenderingToFBO then
  10.     glOrtho(0,AWidth,0,AHeight,0,100)
  11.   else
  12.     glOrtho(0,AWidth,AHeight,0,0,100);
  13.  
  14.  
  15.   glMatrixMode(GL_MODELVIEW);
  16.   glLoadIdentity;
  17. end;
  18.  


Nochmal Danke,
Andreas

_________________
http://audorra.sourceforge.net//http://andorra.sourceforge.net


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 10, 2008 20:36 
Offline
DGL Member
Benutzeravatar

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 networkmy 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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 10, 2008 20:41 
Offline
DGL Member

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.

_________________
http://audorra.sourceforge.net//http://andorra.sourceforge.net


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 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.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]