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

Aktuelle Zeit: Mo Jul 14, 2025 22:15

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



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Zeichnen eines Triangles
BeitragVerfasst: Di Aug 23, 2005 18:20 
Offline
DGL Member

Registriert: Di Aug 23, 2005 18:04
Beiträge: 18
Bin OpenGl-Einsteiger seit 1h und probier gerade ein Dreieck nach dem Tutorial Lektion 2 zu zeichnen.
Das Dreieck läßt sich nur darstellen, wenn das Beispiel abgeändert wird in glBegin(GL_QUADS) und hinzufügen eines vierten Vertex-Parameters
glBegin(GL_QUADS);
glColor3f(1,0,0); glvertex3f(-1,-1,0);
glColor3f(0,1,0); glVertex3f(0,1,0);
glColor3f(0,0,1); glVertex3f(1,-1,0);
glColor3f(1, 1, 0); glVertex3f(0, 1, 0);
glEnd;
Dies zeichnet ein Dreieck!?

Beispiel aus Tutorial:
glBegin(GL_TRIANGLES);
glColor3f(1,0,0); glvertex3f(-1,-1,0);
glColor3f(0,1,0); glVertex3f(0,1,0);
glColor3f(0,0,1); glVertex3f(1,-1,0);
glEnd;
Warum funktioniert das Beispiel aus dem Tutorial nicht?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 23, 2005 18:40 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Versuchs mal mit:
Code:
  1.  
  2. glBegin(GL_QUADS);
  3. glColor3f(1,0,0); glvertex3f(-1,-1,0);
  4. glColor3f(0,1,0); glVertex3f(1,-1,0);
  5. glColor3f(0,0,1); glVertex3f(1,1,0);
  6. glColor3f(1, 1, 0); glVertex3f(-1, 1, 0);
  7. glEnd;
  8.  


Die Reihenfolge der Koordinaten ist wichtig!

Edit: Ach ja, Quellcode bitte in Pascal-Tags!!

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 23, 2005 18:52 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 26, 2002 22:12
Beiträge: 259
Wohnort: Dresden
Das Dreieck an sich ist ok, wenn man die richtigen Einstellungen hat. Ich vermute aber, dass du Backfaceculling an hast und das Dreieck deshalb verschwindet. Denn das Dreieck im Beispiel wird im Uhrzeigersinn definiert und damit blickt dich die Rückseite des Dreiecks direkt an.
Definierst du es entgegen dem Uhrzeigersinn dürfte alles klappen (ich ändere es auch gleich im Tutorial ab):
Code:
  1. glBegin(GL_TRIANGLES);
  2. glColor3f(1,0,0); glVertex3f(-1,-1,0);
  3. glColor3f(0,0,1); glVertex3f(1,-1,0);
  4. glColor3f(0,1,0); glVertex3f(0,1,0);  
  5. glEnd;


Dein Viereck als Dreieck zu zeichnen ist jedoch keine gute Idee, denn das kann zu Fehlern führen (dein Viereck besteht aus 2 identischen Punkten und ist somit gar kein Viereck)

Alternativ kannst du auch Backfaceculling deaktivieren (glDisable(GL_CULL_FACE)). Aber ich würde dir empfehlen Primitive immer gegen den Uhrzeigersinn zu definieren. Damit gehst du einigen Problemen aus dem Weg.

_________________
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: Di Aug 23, 2005 19:05 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Heute geht ja alles schief! :oops:

Frage nicht verstanden!

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 23, 2005 19:37 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
Backfaceculling heißt, Rückseiten der Flächen werden nicht gerendert (zur Performancesteigerung, sonnst würde bei einem Würfel wenns blöd läuft erst die Innenseite der hinteren Wand und dann die Vorderseite der Vorderen darüber gerendert werden, dass würde Zeit kosten :D ).

Ich denke, da du 1h erfahrung hast, könnte man das ruhig noch erwehnen (Tach).

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 23, 2005 20:00 
Offline
DGL Member

Registriert: Di Aug 23, 2005 18:04
Beiträge: 18
Danke für die Tipps!
Backfaceculling ist aktiviert und entgegen dem Uhrzeigersinn das Dreieck definiert funktioniert prima.
Schön das dieses kleine Problemchen so schnell gelöst ist.
Das mit der Vorder- u. Rückseite durch die Reihenfolge der Datendefinition ist mir noch nicht klar wieso, aber der Nebel wird sich mit der Zeit noch lichten.


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


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.008s | 14 Queries | GZIP : On ]