In welcher Reihenfolge zeichnet man Modelle?
-
Ja, aber wie stellt man sicher, dass auch jedes Dreieck gezeichnet wird?
Bei einem triangle strip soll ja alles in einer Wurst sein, wenn dann aber mitten drin ein Dreieck überbleibt?
-
Wieso sollte eins der Dreiecke, die du angibst, nicht gezeichnet werden?
-
Müssen die Dreiecke eines strips nicht immer genau nebeneinander liegen? Das ist ja der Sinn...
-
Doch, aber du kannst da gar nichts "falsch" einfügen. Du hast einfach ein erstes Dreieck und mit jedem Vertex, den du hinzufügst wird ein neues Dreieck generiert mit den letzten beiden Eckpunkten zusammen.
http://msdn.microsoft.com/en-us/library/ee422515(VS.85).aspx
-
Ich glaube, ihr versteht mich nicht.
http://s8.directupload.net/images/100104/hi7b3k28.jpg
zB. eine menschliche Form, wenn man so wie angezeigt hinaufzeichnet, wie kommt man dann wieder runter zum zweiten Bein?
Ich kapier's nicht, man muss die einzelnen Dreiecke bei einem triangle strip doch in bestimmter Reihenfolge zeichnen, oder? Man kann doch nicht wahllos erstes Dreieck ganz unten, zweites Dreieck ganz oben usw. zeichnen?! Das ginge bei einer triangle list, denke ich, aber beim triangle strip muss es doch in einer Kette sein...
Ich stelle mir das vor wie ein Band, welches man jetzt um den Körper wickeln muss, ohne eine Stelle freizulassen. Das geht doch gar nicht bei jeder Form?!
-
Doch das geht schon. Stell dir das Modell einfach mal als Kugel vor. Dort geht es ja bestimmt. Dann kannst du die Kugel einfach ein wenig quetschen, zerren usw. Und du hast deinen Menschen.
Wie das dann wirklich ein Editor macht weiss ich nicht und da geschickt ein Strip reinzulegen ist bestimmt auch nicht einfach, aber dafür kann man ja ganz normale Dreiecke rendern, welche nicht zusammenhängend sein müssen.
-
Ich möchte aber ein strip über jede Form legen können, weil es am effektivsten zu rendern wäre.
Also geht das überhaupt, oder verwendet man da eh was anderes?Man kann doch in dem Fall ne Kugel nicht mit ner komplexen Form vergleichen.
-
ceplusplus@loggedoff schrieb:
Man kann doch in dem Fall ne Kugel nicht mit ner komplexen Form vergleichen.
Warum nicht?
Ich würde sogar sagen, dass das mathematisch beweisbar das gleiche ist. Für mich sieht das ganze aus, wie ein planarer Graph und bei dem ist es unerheblich wie weit die Knoten voneinander weg sind und in welcher Stellung sie zueinander stehen. Wichtig ist lediglich, dass sie keine Überschneidungen haben und das ist hier ja der Fall. Also kann man das ganze auch zu einer Kugel umformen.
(Das ist jetzt natürlich kein vollständiger Beweis, aber rein von der Intuition her müsste das so beweisbar sein)
-
Ihr versteht alle den Fragesteller nicht. Das Problem nennt sich "Stripification", und ist - denke ich - NP vollständig. Ausserdem kann man so gut wie KEIN Objekt mit nur einem Strip darstellen (Nicht mal ein reguläres Höhenfeld).
Es gibt zur Stripification mehrere Ansätze, um es kurz zu machen:
- fange mit "SGI Stripification" an
- verbessere Stripification mit "Tunneling Stripification"http://research.cs.queensu.ca/~jstewart/strips/algorithm/
Gruss, Jochen
-
eine menschliche Form, wenn man so wie angezeigt hinaufzeichnet, wie kommt man dann wieder runter zum zweiten Bein?
Mein zeichnet einen weiteren Strip.
Um Render-Calls zu vermeiden verbindet man mehrere Strips per degenerierter Triangles zu einem einzigen.
Schau mal hier oder hier.
Benutze indizierte Triangle-Listen.