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

Aktuelle Zeit: Do Jul 17, 2025 11:56

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



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: 2D-Ansicht
BeitragVerfasst: Mi Mär 23, 2011 18:24 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
Hallo,

ich wollte eine 2D-Ansichtsoption integrieren.. Wie ich das verstanden hab müsste doche in Austausch von:

Code:
    gluPerspective(60, Panel1.Width / Panel1.Height, 1, 200);


zu

Code:
  glOrtho(0 ,Panel1.Width,0,Panel1.Height,0,200)


ausreichen oder?? Doch er zeichnet mir meine Szene gaaaanz klein in die linke untere Ecke.. Soweit kann ich net ranzoomen...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: 2D-Ansicht
BeitragVerfasst: Mi Mär 23, 2011 19:31 
Offline
DGL Member

Registriert: So Mär 22, 2009 22:28
Beiträge: 26
Du solltest dir mal die Parameter für glOrtho ansehen, dann wirst du merken, dass es nicht so schwer ist...

Code:
glOrtho(-Panel1.Width/2, Panel1.Width/2, -Panel1.Height/2, Panel1.Height/2,0,200)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: 2D-Ansicht
BeitragVerfasst: Mi Mär 23, 2011 20:06 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
nein, Thmfrnks glOrtho war prinzipiell gut. Nur ist glOrtho mit diesen Parametern auf GL Einheiten == Bildschirmpixel, was bei Perspektivischer Projektion allgemein nicht so ist. Nahe der Kamera ist eine GL-Einheit deutlich länger als ein Pixel, daher wird die Szene recht klein gezeichnet.

glScale wird da vielleicht helfen.

greetings

_________________
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: Re: 2D-Ansicht
BeitragVerfasst: Mi Mär 23, 2011 22:41 
Offline
DGL Member

Registriert: So Mär 22, 2009 22:28
Beiträge: 26
Wenn es mit meinem Code zu klein ist, kannst du es auch so, oder so ähnlich versuchen... (C / C++)
Code:
double aspect = (double) panel1.Width / (double) panel1.Height;
double scale = 3.0; /* <-- Hier die Skalierung angeben */

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-scale, scale, -scale * aspect, scale * aspect, 0, 200);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

Damit wird auch die Skalierung berücksichtigt (siehe Lord Horanzonts letzten Beitrag), jedoch kannst du dir damit glScale sparen, wenn du der variable scale den Wert für die Skalierung zuweist.
Du kannst aspect auch weglassen, oder einen konstanten Wert zuweisen, wobei du jedoch beachten musst, dass sobald sich die Fenstergröße ändert, das ganze verzerrt aussehen könnte.

Übrigens darf der Parameter "zNear" von glOrtho (im Code oben "0") auch Negativ sein, im Gegensatz zu glFrustum oder gluPerspective, nur damit es erwähnt ist :wink:


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 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.010s | 16 Queries | GZIP : On ]