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

Aktuelle Zeit: So Jul 06, 2025 09:24

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



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Problem mit Ortho
BeitragVerfasst: Fr Mai 02, 2008 20:13 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
hi,

Es ist wirklich unglaublich, dass einige Sachen immer an solchen Kleinigkeiten scheitern müssen ;)
Ich wollte einen Postscene Shader in mein Programm einbauen. Da ich das Ganze schonmal gemacht habe, habe ich den meisten Code einfach kopiert.
Naja was soll man sagen: Es funzt net, obwohl beide Sources nahezu identisch sind.

Scheinbar liegt es aber nur am Zeichnen der Vollbildtextur. Ich habe das Programm mal auf das Zeichnen eines Vollbildrechtecks reduziert.
Eigentlich sollte da jetzt auf jedenfall ein rotes Rechteck zu sehen sein, welches das gesamte Bild ausfüllt.
Nur bleibt das Bild weiß, warum ?

Relevanter Code:

Code:
  1.   glClearColor(1, 1, 1, 0);
  2.   glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  3.   glViewport(0, 0, clientwidth, clientheight);
  4.   glMatrixMode(GL_PROJECTION);
  5.   glLoadIdentity;
  6.   gluPerspective(45, clientwidth / clientheight, NearClipping, FarClipping);
  7.   glMatrixMode(GL_MODELVIEW);
  8.   glLoadIdentity;
  9.  
  10.   Go2D;
  11.     glPushmatrix;
  12.     glTranslatef(320, 240, 0);
  13.     // TEST
  14.     glDisable(GL_TEXTURE_2D);
  15.     glColor3f(1, 0, 0);
  16.     glDisable(GL_CULL_FACE);
  17.     //
  18.       glBegin(GL_QUADS);
  19.         glTexCoord2f(0, 0); glVertex3i( -320,  240,  -2);
  20.         glTexCoord2f(1, 0); glVertex3i(  320,  240,  -2);
  21.         glTexCoord2f(1, 1); glVertex3i(  320, -240,  -2);
  22.         glTexCoord2f(0, 1); glVertex3i( -320, -240,  -2);
  23.       glEnd;
  24.     glPopMatrix;
  25.   Exit2D;

Code:
  1. procedure Go2D;
  2. begin
  3.   glDisable(GL_DEPTH_TEST);
  4. //  glDisable(GL_TEXTURE_2D);
  5.   glDisable(GL_LIGHTING);
  6.   glColor3f(1, 1, 1);
  7.   glMatrixMode(GL_PROJECTION);
  8.   glLoadIdentity;
  9.   glOrtho(0, 640, 480, 0, -1, 1);
  10.   glMatrixMode(GL_MODELVIEW);
  11.   glLoadIdentity;
  12. end;

Code:
  1. procedure Exit2D;
  2. begin
  3.   glEnable(GL_DEPTH_TEST);
  4. //  glEnable(GL_TEXTURE_2D);
  5.   glEnable(GL_LIGHTING);
  6. end;


mfg


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 02, 2008 22:22 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Near und Far-Clipping-Plane von deinem Ortho-Aufruf passt? Schließlich zeichnest du in den negativen Bereich rein.
Du solltest nach deinem glPushMatrix nach Go2D noch ein glLoadIdentity aufrufen - sonst hast du noch die überreste der vermutlich 3D-Modelview-Matrix da rumliegen.

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: Sa Mai 03, 2008 08:55 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
Den Code habe ich aus einem anderen meiner Programme entnommen und da scheint es zu gehen.
Selbst wenn ich -2 durch +2 ersetze und das von der genannte loadidentity einfüge funktioniert es immer noch nicht.

nearclipping ist 1

mfg


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 03, 2008 09:46 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Du hast eine Nearclippingplane von -1 und eine Farclippingplane von 1. Probier doch mal als z-Koordinate von glVertex3i einfach 0 anstatt -2 (kleiner als NearClipping) oder +2 (größer als FarClipping)

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: Sa Mai 03, 2008 10:47 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
Danke, jetzt gehts, hatte übersehen, dass ich das Clipping bei Go2D geändert hab ;)

mfg


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 » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.023s | 15 Queries | GZIP : On ]