polygone kann man nur bis 6 eckpunkte zeichnen?!?!?!
ich hatte an ein 4eck gedacht um das später in eine eigene procedure zu packen und so den stern zu zeichnen: P1 ( -3 / 0 / 0 ) P2 ( -1 / -1 / 0 ) P3 ( 0 / -3 / 0 ) P4 ( 0 / 0 / 0 )
oder gibt es eine bessere/leichtere lösung???
ups man kann doch polygone mit <6 ecken zeichnen
_________________ Ich bin n00b und das ist auch gut so!
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Wie du anscheinend gemerkt hast, ist die Zahl der Eckpunkte für ein Polygon quasi unendlich hoch.Allerdings muss man bei der Nutzung der GL_POLYGON-Primitve immer die Tatsache im Hinterkopf behalten, das die GPU dieses Polygon Frame für Frame erstmal kompliziert in Dreiecke zerlegen muss, weshalb GL_POLYGON der langsamste und nicht vorzuziehende Primitiventyp ist, den man deshalb eigentlich vermeiden sollte.
Wenn du dann so etwas wie einen Stern zeichnen willst, wäre es also besser diesen, statt als Polygon mittels einer Textur zeichnen.Dazu eignet sich eine Textur mit einem Alphakanal am besten.Du zeichnest dort deinen Stern in die Textur und mittels eines Bildbeabeitungsprogrammes wie Photoshop markierst du dann den gezeichneten Stern in der Alphamaske, so dass der Rest der Textur transparent ist.In OpenGL lädst du dann diese Textur mit Alphakanal (Wird allerdings nur von bestimmten Formaten wie TGA und PNG unterstützt) und aktivierst den Alphatest, so dass der nicht markierte Rand um deinen Stern herum auch nicht gezeichnet wird.Danach musst du nur noch ein Quad (=2 Dreiecke und viel weniger Arbeit für die GPU) mit dieser Textur zeichnen. Das ist für sowas wie einen Stern weitaus besser als ihn mittels GL_POLYGON zu zeichnen....wie das mit dem Alphamasking genau geht, siehst du im entsprechenden Tut auf meiner HP : <a href='http://www.delphigl.de' target='_blank'>http://www.delphigl.de</a>
Registriert: Mo Jun 09, 2003 16:47 Beiträge: 35 Wohnort: Bielefeld
hi, danke für deine antwort...
ich habe anfangs probiert mein stern mit GL_POLYGON zu zeichnen. Dies ging aber aus irgendeinen mir unbekannten grund nicht. dann hab ich nur den anfangspunkt ans ende gesetzt und dann gings auf einmal.
kann mir das jemand erklären???
_________________ Ich bin n00b und das ist auch gut so!
Ich nehme an du wolltest einen Stern mit einem Polygon zeichnen. Da ein Stern nicht konvex ist, ist das Ergebnis undefiniert. Entweder die Figur erst in Dreiecke (oder halt konvexe Vielecke) zerlegen, oder aber GLU verwenden (das auch nichts anderes macht).
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.