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

Aktuelle Zeit: Mi Jul 16, 2025 20:07

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



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mi Nov 24, 2004 18:42 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 12, 2002 07:15
Beiträge: 916
Wohnort: Dietzhölztal / Hessen
Programmiersprache: C/C++, Obj-C
Ich hab da ein kleines Problem:

Ich schalte in den 2D-Modus mit glOrtho und zeichne ein einfaches Quad:
Code:
  1.  
  2. // Der Client-Bereich des Fensters ist 800x600
  3. glOrtho(0, 800, 600, 0, 100, -100);
  4.  
  5. glBegin(GL_QUADS);
  6.   glColor3ub(255, 0, 255);
  7.   glVertex2i(0, 0);
  8.   glColor3ub(0, 0, 255);
  9.   glVertex2i( 100, 0);
  10.   glColor3ub(0, 255, 0);
  11.   glVertex2i( 100,  100);
  12.   glColor3ub(255, 0, 0);
  13.   glVertex2f(0,  100);
  14. glEnd();


Das funktioniert auch soweit gut. Der 0,0 Ursprung zum Zeichnen des Quads liegt in der linken oberen Ecke des Fensters. Jetzt will ich mit glScissor die Ausgabe begrenzen. Nur liegt hier der Ursprung unten links :( War verwirrend, aber in der SDK-Hilfe steht ja drinnen das glScissor Window-Koordinaten verwendet.

Jetzt die Frage: kann ich glOrtho und glScissor irgendwie auf den gleichen Ursprung bringen, so das mein 0,0 Punkt beide male an der gleichen Position im Fenster liegt (bevorzugt links oben)?

_________________
Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 24, 2004 19:43 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 26, 2002 22:12
Beiträge: 259
Wohnort: Dresden
Den Ursprung des Orthomodus kannst du mittels
Code:
  1. glOrtho(0, 800, 0, 600, -100, 100);

nach unten verlegen.

Die gleiche Methode lässt sich bestimmt auch auf das mit glScissor aufgespannte Rechteck anwenden.

_________________
Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jederman ist überzeugt, dass er genug davon habe.
Rene Descartes, frz. Mathematiker u. Philosoph, 1596-1650


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 24, 2004 23:48 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 12, 2002 07:15
Beiträge: 916
Wohnort: Dietzhölztal / Hessen
Programmiersprache: C/C++, Obj-C
Nein, leider nicht. Den glOrtho hat die Parameter Left, Rigth, Bottom, Top whärend glScissor die Parameter x, y, width, height hat. Den glOrtho-Ursprung möchte ich eigentlich nicht unbedingt nach unten verlegen, da es für mich oben links praktischer ist. Na ja, es ist wie es ist. Es bleibt mir wohl nichts anderes übrig, als ständig umzurechnen...

_________________
Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 26, 2004 18:02 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 28, 2002 19:27
Beiträge: 568
Wohnort: Chemnitz / Sachsen
denke ne einfache umrechnung sollte sein ding auch bringen, also einfach die coords an ne eigene funktion übergeben, die dann umrechnet und dann den scissor aktiviert.

_________________
Aktuelles Projekt :
www.PicPlace.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 26, 2004 18:41 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Falls man glScissor als Pixel Operation sehen kann, würde ich mal versuchen mit glRasterPos die Rasterpostion zu verschieben
Ein Versuch ist es ja wert, oder :wink: ?
MfG
Flo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


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


Wer ist online?

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