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

Aktuelle Zeit: Sa Apr 20, 2024 05:38

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



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Di Sep 16, 2014 20:03 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 12, 2013 07:45
Beiträge: 61
Programmiersprache: Turbo Delphi 2006
Hallo,

ich benutze für eine Gui Darstellung glOrtho auf das ganzen Fenster. Um ähnliche - zusammengesetzte Anzeige-Elemente - darzustellen, benutze ich zum Zeichnen eine Schleife in der ich den Viewport auf die entsprechende Stelle setze und dann immer mit den gleichen Koordinaten das Anzeige-Element zu rendern. Leider kann ich glOrtho dafür nicht auf einen kleineren Bereich stellen sondern muß die Koordinaten immer mit der Fenstergröße verrechnen.
Meine Frage ist kann man eine mit glOrtho gemachte Einstellung ändern und dann wieder zurück?

Ich hoffe man kann den Kauderwelsch verstehen.


Zuletzt geändert von Twist am Fr Sep 19, 2014 21:37, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: 2 verschiedene glOrtho Bereiche?
BeitragVerfasst: Di Sep 16, 2014 21:22 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,

Twist hat geschrieben:
Leider kann ich glOrtho dafür nicht auf einen kleineren Bereich stellen sondern muß die Koordinaten immer mit der Fenstergröße verrechnen.
Warum? du kannst doch einfach die Breite vom Viewport und die Breite von glOrtho halbieren und dann 2x nebeneinander malen.

Ansonsten ist die Projektions-Matrix auch ein ganz normaler Matrix-Stack, wie die Model-Matrix auch. Heißt glPushMatrix und glPopMatrix gehen hier genauso. Damit kannst du die Einstellungen sozusagen speichern und laden ;)

MfG Bergmann.

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: 2 verschiedene glOrtho Bereiche?
BeitragVerfasst: Mi Sep 17, 2014 07:23 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Auf nehe gibts dazu auch noch ein Beispiel:

http://nehe.gamedev.net/tutorial/multip ... rts/20002/

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: 2 verschiedene glOrtho Bereiche?
BeitragVerfasst: Mi Sep 17, 2014 19:03 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 12, 2013 07:45
Beiträge: 61
Programmiersprache: Turbo Delphi 2006
yunharla hat geschrieben:
Auf nehe gibts dazu auch noch ein Beispiel:

Da geht es nur um multiple Viewports. Das klappt bei mir.

Bergmann89 hat geschrieben:
Warum? du kannst doch einfach die Breite vom Viewport und die Breite von glOrtho halbieren und dann 2x nebeneinander malen.

Ich will einmal das ganze Fenster und einmal einen kleinen Bereich.

Code:
  1. glOrtho(0,1200,0,950,-20,20);
  2.     :
  3.     :
  4. glOrtho(0,200,0,190,-20,20);


Dabei gelten nur die Werte des erste. Und ich muß zum Pixelgenauen setzen von Vertexen immer die Positionen multiplizieren.

Zitat:
glPushMatrix und glPopMatrix
Das klingt gut werde es demnächst mal testen.

Danke für die Antworten.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: 2 verschiedene glOrtho Bereiche?
BeitragVerfasst: Mi Sep 17, 2014 19:45 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Ich glaub da hast du was falsch verstanden.

glViewport gibt an wie die normalisierten Koordinaten (also -1.0,-1.0 bis 1.0,1.0) in Fensterkoordinaten umgerechnet werden.
glScissor setzt das Rechteck in dem Pixel modifiziert werden dürfen.
glOrtho setzt nur eine Matrix mit der deine Vertexdaten in normalisierte Koordinaten umgerechnet werden.
Code:
  1.  
  2. glOrtho(0,200,0,190,-20,20);
  3.  

multipliziert einfach nur x und y mit 2/200 und 2/190 und zieht jeweils 1 ab.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: 2 verschiedene glOrtho Bereiche?
BeitragVerfasst: Do Sep 18, 2014 22:54 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,

da die beiden Bereiche ineinander liegen brauchst du glOrtho und den Viewport nichma neu setzen. Es reicht wenn du deine Model-Matrix bzw. deine Vertices dementsprechend manipulierst, das du nur in deinem 200x190 großen Rechteck zeichnest. Mit glScissor kannst du dann noch begrenzen das nicht über den Rand gezeichnet wird. So würde ich es machen.
Die Alternative wäre glOrtho UND den Viewport zu setzen, das beides pixelgenau und durch einen Rand begrenz ist.

MfG Bergmann

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: 2 verschiedene glOrtho Bereiche?
BeitragVerfasst: Fr Sep 19, 2014 21:35 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 12, 2013 07:45
Beiträge: 61
Programmiersprache: Turbo Delphi 2006
Bergmann89 hat geschrieben:
da die beiden Bereiche ineinander liegen brauchst du glOrtho und den Viewport nichma neu setzen. Es reicht wenn du deine Model-Matrix bzw. deine Vertices dementsprechend manipulierst, das du nur in deinem 200x190 großen Rechteck zeichnest.


So mache ich es bereits. Ich wollte nur wissen, ob nicht eine 'elegantere' Lösung möglich ist und ich mich dafür nur zu prasselig anstelle.

Danke für die Antworten.


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 » Programmierung » Einsteiger-Fragen


Wer ist online?

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