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

Aktuelle Zeit: Fr Jul 18, 2025 07:55

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



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: GL_TRIANGLE_STRIP
BeitragVerfasst: Do Mai 26, 2005 20:52 
Offline
DGL Member

Registriert: So Jun 23, 2002 12:37
Beiträge: 144
Programmiersprache: C/C++, Delphi
Hallo,
wenn ihr euch diesen Code hier einmal anschauen würdet:
Code:
  1.  
  2. glBegin(GL_TRIANGLE_STRIP);
  3.     for(x = 0; x < AREA_SIZE-step; x+=step)
  4.     {
  5.         for(z = 0; z < AREA_SIZE-step; z+=step)
  6.         {
  7.             glVertex3f(F*(x+step), F*height_field[x+step][z], F*z);
  8.             glVertex3f(F*x, F*height_field[x][z], F*z);
  9.         }
  10.     }
  11.  

step ist eine Variable um die Detailstufe anzugeben und F ist zum skalieren der Punkte.

Also. Es sollte ja hier ein TriangleStrip von der "oberen linken" Ecke, also Index 0|0, angefangen gezeichnet werden.
Für den ersten durchlauf der Schleife mit der Zählervariable z scheint mir ja alles ganz logisch. Wenn wir allerdings
x erhöhen würde ja ein Dreieck einmal quer über das ganze Feld gezogen.

So würde ja das Feld gezeichnet. Hier die durchlaufrichtung (Nummerierung)
Code:
  1.  
  2.  2--1--7
  3.  | \ | \ |
  4.  4--3--x
  5.  | \ | \ |
  6.  6--5--x
  7.  


Beim beenden der z-Schleife wird ja bei Punkt 7 weitergezeichnet. Durch den Triangle-Strip wird ja nun noch ein Dreieck 5->6->7 erzeugt, oder liege ich da jetzt irgendwie falsch? Ich kann mir nämlich irgendwie nicht vorstellen das es funktioniert...
Falls jemand meine Frage nicht versteht: Dies soll nur eine Verständnis-Frage sein...

_________________
--->ladida<---


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 26, 2005 21:57 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Also...öhm...eigentlich sollte das nicht funktionieren. Tut es das...? Wenn die Reihenfolge wirklich die unten aufgemalte ist, dann ist tatsächlich diese Falsche Dreieck da....also müsste da sein... . Was war die Frage? :x

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 27, 2005 07:41 
Offline
DGL Member

Registriert: So Jun 23, 2002 12:37
Beiträge: 144
Programmiersprache: C/C++, Delphi
War eigentlich keine Frage, wollte nur sicher gehen, das es theoretisch nicht funktioniert. Werds aber nochmal testen...

_________________
--->ladida<---


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 03, 2005 17:11 
Offline
DGL Member

Registriert: Do Mai 05, 2005 04:37
Beiträge: 18
Hi,

ich hatte das Problem so gelöst:

Z nicht immer hochzählen, sondern nur solange Z=Length und ab dann rückwärts also von lenth bis null.
Dann das Gleiche Spiel von vorn.

Funzt super auch mit Texturkoordinaten


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 2 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 | 15 Queries | GZIP : On ]