AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi [OpenGL] Darstellung mit FBO auf dem Kopf
Thema durchsuchen
Ansicht
Themen-Optionen

[OpenGL] Darstellung mit FBO auf dem Kopf

Ein Thema von igel457 · begonnen am 10. Mär 2008 · letzter Beitrag vom 10. Mär 2008
Antwort Antwort
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#1

[OpenGL] Darstellung mit FBO auf dem Kopf

  Alt 10. Mär 2008, 14:25
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.
Delphi-Quellcode:
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.

Schon einmal Danke,
Andreas

PS: Crosspost zur DGL, http://www.delphigl.com/forum/viewto...?p=60897#60897
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: [OpenGL] Darstellung mit FBO auf dem Kopf

  Alt 10. Mär 2008, 15:01
Dann mach doch einfach ein glScalef(1, -1, 1); vor dem Zeichnen in den Framebuffer und nach dem Zeichnen setzt du das ganze wieder zurück.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#3

Re: [OpenGL] Darstellung mit FBO auf dem Kopf

  Alt 10. Mär 2008, 16:23
Hallo,

danke für deine Antwort,
mit folgendem Code in der Szeneneinstellung scheint es zu funktionierten:
Delphi-Quellcode:
procedure TOGLApplication.Setup2DScene(AWidth, AHeight: integer);
begin
  glViewport(0,0,AWidth,AHeight);

  glMatrixMode(GL_PROJECTION);

  glLoadIdentity;
  if FRenderingToFBO then
    glOrtho(0,AWidth,0,AHeight,0,100)
  else
    glOrtho(0,AWidth,AHeight,0,0,100);


  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity;
end;
Nochmal Danke,
Andreas
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: [OpenGL] Darstellung mit FBO auf dem Kopf

  Alt 10. Mär 2008, 16:36
Klar, so geht es natürlich auch. Macht aber kaum einen Unterschied, ob du es jetzt mit scale machst oder gleich die gesamte Projektionsmatrix änderst.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz