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

Aktuelle Zeit: Mo Jul 14, 2025 22:14

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



Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 24, 2003 15:15 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jul 24, 2003 15:09
Beiträge: 12
Hi, hier erstmal der Code:

Code:
  1. glMatrixMode(GL_PROJECTION);
  2. glLoadIdentity;
  3. glOrtho(0, Width, 0, Height, 0, 0);
  4. glMatrixMode(GL_MODELVIEW);
  5. glLoadIdentity;


Irgendwie ist der Mittelpunkt trotzdem noch mitten im Fenster. Ich kann auch die Zeile glOrtho(0, Width, 0, Height, 0, 0); weglassen und es sieht immernoch genauso aus.

Ich rufe den Code oben bei OnResize auf und bei der Initialisierung der Engine.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 24, 2003 17:44 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
Das ist auch kein Wunder... Bei glortho bist du auch nicht ineinem 2d, sonden meines wissens nach in einem 3d - Modus... um den Ortho-2d-Modus zu erhalten müsste es so aussehen:

Code:
  1.  
  2. glViewport(0, 0, clientWidth, clientHeight);
  3. glMatrixMode(GL_PROJECTION);
  4. glLoadIdentity;
  5. gluOrtho2D(0,clientwidth,0,clientheight);
  6. glMatrixMode(GL_MODELVIEW);
  7.  

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 24, 2003 18:01 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jul 24, 2003 15:09
Beiträge: 12
k danke werd ich gleich mal testen. ändert sich denn mal abgesehen von den koordinaten noch etwas in dem modus?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 24, 2003 18:14 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
Ich denke mal nicht großartig... Das dir der normale Ortho schon so 2d-Mäßig vorkam, mag wohl daran liegen, dass die Objekte im ortho-Modus alle gleichgroß sind, egal wie "weit weg" sie sind (schlagt mich, wenn es anders ist :blink: )

Ich denke aber mal, dass die der echte 2D-Ortho lieber ist... da hat man wenigstens die koordianten am rechten Fleck ;) :P

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 24, 2003 19:59 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jul 24, 2003 15:09
Beiträge: 12
hehe ok ... naja die funktionen zum berechnen von positionen und grössen hatte ich mir (leider) schon geschrieben ;)

deswegen auch die frage ob das sonst noch was bringt, denn ich will mein projekt nur ungerne schon wieder auf ein anderes koordinatensystem umstellen.

achja noch ne wichtige frage:
wenn ich jetzt wirklich NUR 2D zeichnen will, reicht dann nicht eigentlich auch

glClear(GL_COLOR_BUFFER_BIT);
anstatt
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 24, 2003 20:05 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Nein, das reicht nicht.Wenn du 2D in OpenGL machen willst, musst du mittels gluOrtho(2D) in eine orthogonale Projektion wechseln, denn in dieser werden die Objekte nicht in die Tiefe hinein verzerrt.Das bedeutet, das z.B. bei eine, Quader der eigentlich nach hinten ragt, sowohl die vordere Fläche als auch die hintere Fläche auf dem Bildschirm später die gleiche Größe haben.Bei einer normalen dreidimensionalen Projekten (also OpenGLs Standard) werden Objekte ja in die Tiefe "verzerrt" um den 3D-Eindruck auf dem Monitor entstehen zu lassen.Das einfach nicht-löschen des Tiefenpuffers würde dir da gar nix bringen.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 24, 2003 20:11 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jul 24, 2003 15:09
Beiträge: 12
Nein, tut mir leid. Hab die Frage irgendwie blöd gestellt, ist mir aber jetzt erst aufgefallen, wo ich deine Antwort sehe.

Ich meine wenn ich schon mit gluOrtho2D in den 2D Mode gewechselt habe und somit ja eigentlich den Tiefenpuffer nicht nutze, muss ich den dann trotzdem bei vor jedem Rendern löschen?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 24, 2003 20:14 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Kommt drauf an, denn der Tiefenpuffer hat ja auch in der orthogonalen 2D-Ansicht noch seinen Sinn.Damit kann man z.B. wenn man ne GUI darstellen will die Anzeigereihenfolge von Fenster o.Ä. realisieren.Also ist der in der 2D-Ansicht immernoch zum Sortieren von Objekten nützlich.
Und ausserdem wird der immer verwendet, auch wenn du ihn nicht löschen tust werden dort Werte hineingeschrieben und Tiefentests gemacht.Wenn du den Tiefenpuffer also gar nicht brauchst, dann musst du in via glDisable(GL_DEPTH_TEST) komplett deaktivieren.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 24, 2003 20:15 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
Nutz man den Tiefenpuffer nicht?
ich bin mir nicht ganz sicher, aber kann man nicht dennoch Z-werte angeben, z.b. um zu garantieren, dass das Hintergrundbild auch wirklich im Hintergrund ist (z.b. bei 2D Jump and Runs)? Ich mein da war mal was 8ich garantiere für nichts!) :P

Edit: Shit, SoS war schneller.....

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 24, 2003 21:46 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jul 24, 2003 15:09
Beiträge: 12
k danke, wusste ich alles net ... hab gestern erst mit opengl angefangen :)

dann deaktiviere ich den mal lieber nicht.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 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.008s | 14 Queries | GZIP : On ]