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

Aktuelle Zeit: Sa Jul 19, 2025 23:34

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



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: So Jun 20, 2010 07:56 
Offline
DGL Member

Registriert: Do Jun 17, 2010 10:45
Beiträge: 36
Hallo Zusammen,

Ich möchte gerne zu Laufzeit einem Polygon weitere Eckpunkte zufügen.
Die Anzahl zugeführter Ecken steht auch noch nicht fest.


glBegin(GL_POLYGON);
glVertex3f(40,55,-20); // oben (vorderes Dreieck)
glVertex3f(40,55,20); // oben (vorderes Dreieck)
glVertex3f(40,8,20); // oben (vorderes Dreieck)

neuer glVertex3f();
neuer glvertex3f();
...
...
glEnd();



Weiss jemand von euch wie man das machen kann?
in c++ habe ich viel mit dem Operator "new" gearbeitet, aber glvertex ist ja keine Klasse oder
Datentyp. Was kennt da opengl für Möglichkeiten?



Die zweite Frage wäre dann, wie ich ein ganzes Polygon zu Lur Laufzeit anlege.
Es liegt für mich die Versuchung nahe POLYGON * q = new POLYGON; u schreiben, aber das
geht natürlich nicht.

Die dritte Frage wäre dann, wie man einen Eckpunkt, bzw. ein Polygon wieder löscht.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Jun 20, 2010 08:32 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
glBegin() und glVertex() sind einfach nur Funktionsaufrufe. Jedes mal wenn du etwas rendern möchtest sagst du OpenGL mit Hilfe dieser Funktionen was zu tun ist. Normalerweise zeichnet man immer wenn sich etwas ändern soll die komplette Szene neu.

Wenn du also einen Vertex mehr möchtest rufst du an der entsprechenden Stelle glVertex einfach einmal mehr auf. Wenn du einen Vertex löschen möchtest lässt du den entsprechenden Aufruf weg. Um ein weiteres Polygon zu zeichnen rufst du nach dem glEnd einfach glBegin(GL_POLYGON) ein weiteres mal auf, übergibst mit glVertex die Vertices und beendest wieder mit glEnd. Zwischen glBegin und glEnd sammelt OpenGL intern einfach nur Daten in einem Array. Bei jedem glEnd wird dann gerendert.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Jun 20, 2010 09:41 
Offline
DGL Member

Registriert: Do Jun 17, 2010 10:45
Beiträge: 36
Vielen dank für deine Antwort coolcat,


das heisst, ich kann kann innerhalb eines glBegin(), glEnd() Blocks Schleifen verwenden und dadurch die gwünschte anzahl von Eckpunkten erhalten?


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Jun 20, 2010 09:50 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Exakt.

_________________
Yeah! :mrgreen:


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