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

Aktuelle Zeit: Sa Jul 19, 2025 21:01

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: Dreiecke + Parameter
BeitragVerfasst: Mo Nov 30, 2009 11:49 
Offline
DGL Member

Registriert: Fr Nov 27, 2009 14:35
Beiträge: 2
Hallo zusammen,

versuche mich gerade daran, Dreiecke zu zeichnen.
Habe den Code aus dem Tutorial übernommen. Dieser funktioniert jedoch nur wenn ich bestimmte Parameter ändere und das verstehe ich nicht.

Code:
  1.  
  2. // geht nicht
  3.     glColor3f(0,0,1);
  4.     glBegin(GL_TRIANGLES);
  5.         glVertex3f(-1.0,-1.0, 0.0);
  6.         glVertex3f( 0.0, 1.0, 0.0);
  7.         glVertex3f( 1.0,-1.0, 0.0);
  8.     glEnd();
  9.  
  10. // geht  
  11.     glColor3f(1,0,0);
  12.     glBegin(GL_TRIANGLES);
  13.         glVertex3f(-1.0, 1, 0.0);
  14.         glVertex3f( 0.0, 0, 0.0);
  15.         glVertex3f( 1.0, 1, 0.0);
  16.     glEnd();
  17.  


Das verstehe ich nicht...

Gruß
bomichi


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Dreiecke + Parameter
BeitragVerfasst: Mo Nov 30, 2009 11:59 
Offline
DGL Member

Registriert: Sa Mär 14, 2009 17:48
Beiträge: 99
Programmiersprache: D, Java, C++
Die Koordinaten des 1. Dreiecks werden im Uhrzeigersinn übergeben, und die Koordinaten des 2. Dreiecks gegen den UZS. Ich vermute also mal stark, dass du Backface Culling aktiviert hast ;-).

Zeichne das erste Dreieck mal statt so:

Code:
  1. glVertex3f(-1.0,-1.0, 0.0);
  2. glVertex3f( 0.0, 1.0, 0.0);
  3. glVertex3f( 1.0,-1.0, 0.0);


so:

Code:
  1. glVertex3f(-1.0,-1.0, 0.0);
  2. glVertex3f( 1.0,-1.0, 0.0);
  3. glVertex3f( 0.0, 1.0, 0.0);


Viele Grüße,
Skeptiker


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Dreiecke + Parameter
BeitragVerfasst: Mo Nov 30, 2009 12:04 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Vermutlich hast du Backfaceculling aktiviert. Mit aktiviertem Backfaceculling spielt es eine Rolle ob du die einzelnen Vertices im Uhrzeigersinn oder gegen den Uhrzeigersinn definierst. Dadurch bekommen die Dreiecke eine Vorder- und eine Rückseite. Wenn du nun ein geschlossenes Objekt (z.B. Würfel) erzeugst, kannst du die Innenseiten sowieso von außen nicht sehen, also wieso sollte man diese rendern? Bei aktiviertem Backfaceculling testet die Grafikkarte für jedes Dreieck von welcher Seite es betrachtet wird. Innenseiten/Rückseiten werden so ganz einfach nicht mehr dargestellt, womit sich üblicherweise etwa 50% der Geometrie einsparen lassen.

Code:
  1. glEnable(GL_CULL_FACE);
  2. bzw.
  3. glDisable(GL_CULL_FACE);



(Edit: Sorry...statt gl.enable natürlich glEnable....hatte das aus meiner WebGL Anwendung kopiert...ich hoffe das hat nicht zu Verwirrung geführt.)

_________________
Yeah! :mrgreen:


Zuletzt geändert von Coolcat am Mo Nov 30, 2009 12:12, insgesamt 2-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Dreiecke + Parameter
BeitragVerfasst: Mo Nov 30, 2009 12:09 
Offline
DGL Member

Registriert: Fr Nov 27, 2009 14:35
Beiträge: 2
Danke, es funktioniert :)

Ist aber auch verflixt. Im Quickstart-Tutorial wird dieses Backface Culling aktiviert
via
Code:
  1. glEnable(GL_CULL_FACE);
und in den nachfolgenden Tutorials kein Wort darüber verloren und ich frag mich warum das nicht funktioniert.

Aber eins muss ich noch sagen: Bin mit den Tutorials super zufrieden.

Gruß
bomichi


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