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

Aktuelle Zeit: Fr Aug 08, 2025 13:38

Foren-Übersicht » DGL » Feedback
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: 2D Tutorial
BeitragVerfasst: Mo Feb 03, 2003 15:50 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jan 08, 2003 15:49
Beiträge: 266
Wohnort: Aachen
Wollte mal fragen wann das 2D Tut auf der Seite zum Download zur Verfügung steht?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 03, 2003 16:16 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Sobald ich etwas mehr Luft habe. Das war in der letzten Zeit nicht der Fall :-/

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 03, 2003 23:31 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Also ohne Phob's Tut jetzt abwerten zu wollen :twisted: (weiss ja net was er damit vorhat), aber 2D unter OpenGL ist verdammt einfach.

Kurz gesagt musst du nur in den Ortho-Modus wechseln, dem du die Dimensionen deines Viewports angeben kannst, und bist dann in einer "2D-Perspektive" in der du deine 2D-Elemente als einfache Quads zeichnen kannst, ist also nix wildes.

Wenn du also z.B. am oberen Rand deiner Anwendung ne Symbolleiste zeichnen willst, dann geht das unter OpenGL relativ einfach :
Code:
  1.  
  2.  
  3. // In die orthagonale Ansicht wechseln
  4.  
  5. glMatrixMode(GL_PROJECTION);
  6.  
  7. glLoadIdentity;
  8.  
  9. glOrtho(0, 640, 480, 0, -1, 1);
  10.  
  11. glMatrixMode(GL_MODELVIEW);
  12.  
  13. glLoadIdentity;
  14.  
  15. // 2D-Element zeichnen
  16.  
  17. glBindTexture(GL_TEXTURE_2D, SymbTex);
  18.  
  19. glBegin(GL_QUADS);
  20.  
  21.  glTexCoord2f(0, 0); glVertex3f(0,     0,      0);
  22.  
  23.  glTexCoord2f(1, 0); glVertex3f(640, 0,      0);
  24.  
  25.  glTexCoord2f(1,-1); glVertex3f(640, 64, 0);
  26.  
  27.  glTexCoord2f(0,-1); glVertex3f(0,     64, 0);
  28.  
  29. glEnd;
  30.  
  31.  


Das geniale am Ortho-modus ist die Tatsache, das dein Viewport immer 640x480 Einheiten groß ist, und OpenGL dann in abweichenden Auflösungen automatisch stretchen tut, so daß man seine 2D-GUI nur für eine Auflösung erstellen muß.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 04, 2003 17:07 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 02, 2002 18:06
Beiträge: 299
Wohnort: Dresden
Kurze Frage: Was bewirkt dieser Ortho-Modus eigentlich?

_________________
"Ich würde ja gern die Welt verändern, aber Gott gibt mir den Quelltext nicht"


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 04, 2003 17:47 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Zitat:
Kurze Frage: Was bewirkt dieser Ortho-Modus eigentlich?


Der Ortho-Modus (Kurzform für orthographische Ansicht, laut Übersetzung so viel bedeutend wie "senkrecht") schaltet in eine Ansicht, in der Objekte direkt auf den Bildschirm projeziert werden, ohne das ihre relative Größe dabei abhängig von ihrer Tiefenposition beeinflusst wird.
Üblicherweise werden solche Projektionen bei CAD-Programmen z.B. im Bereich der Architektur genutzt, da man dort die Maße eines Objektes heraussehen muss, und nicht wie es in der Perspektive aussehen könnte.

Für uns DGL'ler dürfte obige Definition des Orthomodus aber relativ egal sein, da er kurz gesagt in eine Perspektive schaltet, in der man 2D-Objekte zeichnen kann ohne das diese perspektivisch verzerrt werden.

Deshalb sieht auch die Viewing-Volume (im Deutschen hört sich dieses Wort doch arg "umständlich" an, deshalb lass ich es hier mal so stehen) etwas anders aus, als dies in einer normalen Perspektive der Fall ist (das Bild stammt aus dem RedBook ) :
Bild

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 04, 2003 19:35 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 02, 2002 18:06
Beiträge: 299
Wohnort: Dresden
Danke für diese kurzftistige, ausführliche Antwort

_________________
"Ich würde ja gern die Welt verändern, aber Gott gibt mir den Quelltext nicht"


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 01, 2003 12:17 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jun 09, 2003 08:09
Beiträge: 98
Parallelperspektive würde ich das mal nennen.


mfg las


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


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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.015s | 17 Queries | GZIP : On ]