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

Aktuelle Zeit: Do Jul 10, 2025 18:36

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Von ortho nach 3D
BeitragVerfasst: So Jun 20, 2004 12:24 
Offline
DGL Member

Registriert: Sa Feb 28, 2004 15:36
Beiträge: 40
Hallo,

meine Frage ist eigentlich sicher schnell beantwortet aber ich komme trotzdem nicht drauf:

Wie kann man aus dem Ortho-Mode wieder in die 3D Ansicht wechseln?


gluPerspective(60, ClientWidth/ClientHeight, 1, 128);
bringt irgendwie nix (schwarzer Bildschirm)

Oder kann man gar nicht aus dem ortho in den 3d mode rein und umgekehrt?

Danke schon mal


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jun 20, 2004 12:34 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Code:
  1. glOrtho()
  2. ...
  3. glMatrixMode(GL_PROJECTION);
  4. glLoadIdentity;
  5. gluPerspective();
  6. ...
  7. glMatrixMode(GL_MODELVIEW);
  8. glLoadIdentity;
  9. ...


Alternativ kann man auch die passenden Matrizen vor dem umschalten auf den Stack legen und nachher wieder zurückholen :
Code:
  1. glMatrixMode(GL_PROJECTION);
  2. glPushMatrix;
  3. glOrtho()
  4. ...
  5. glMatrixMode(GL_MODELVIEW);
  6. glPushMatrix;
  7. ...
  8. glMatrixMode(GL_PROJECTION);
  9. gPopMatrix;
  10. glMatrixMode(GL_MODELVIEW);
  11. gPopMatrix;


Wechseln kann man zwischen der perspektivischen Darstellung und der orthogonalen Projektion so oft und auch wann man will.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 21, 2004 11:37 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Hi Accessor ich kann dir folgende 2 funktionen aus meiner engine zu herzen legen.
Code:
  1.  
  2. procedure EndOrtho();
  3. begin
  4.   glEnable(GL_DEPTH_TEST);
  5.   glMatrixMode(GL_PROJECTION);
  6.   glPopMatrix();
  7.   glMatrixMode(GL_MODELVIEW);
  8.   glPopMatrix();
  9. end;
  10.  
  11. procedure StartOrtho(height,width:integer);
  12. begin
  13.   glDisable(GL_DEPTH_TEST);
  14.   glMatrixMode(GL_PROJECTION);
  15.   glPushMatrix();
  16.   glLoadIdentity();
  17.   glOrtho(0, WIDTH, HEIGHT,0, -1, 1);
  18.   glMatrixMode(GL_MODELVIEW);
  19.   glPushMatrix();
  20.   glLoadIdentity();
  21. end;
  22.  

Sie tuen ihren dienst bei mir schon längere Zeit so kannst du z.B. ganz bequem codes basteln ohne immer wieder alles abzutippen.
Code:
  1.  
  2. ...
  3. Start_Ortho(form1.height,form1.width);
  4.   glBegin(GL_Quads);
  5.     glVertex2f(0,0);
  6.     glVertex2f(1,0);
  7.     glVertex2f(1,1);
  8.     glVertex2f(0,1);
  9.   glEnd;
  10. End_Ortho;
  11. ...
  12.  

Hab jetzt zwar nicht getestet ob das quad korrekt gezeichnet wird aber es soll ja nur den sinn zeigen wie die Orthofunktionen verwendet werden können.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jun 22, 2004 15:14 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
@TAK: Dein Code funktioniert aber nicht, wenn man andere Sachen auf den Stack gepusht hat und dann "mal kurz" aus dem Ortomodus raus muss.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


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


Wer ist online?

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