Registriert: Do Feb 21, 2008 22:10 Beiträge: 89 Wohnort: Boppard
Hi,
Wie der Titel schon verrät suche ich eine effiziente Methode um Polygone (max 4 Vertices) An einer Box zu clippen.
Das Problem aus dem diese Frage entstammt ist die Optimierung meines Octrees.
Denn momentan passiert es zu oft, das Polygone zwischen 2 Nodes liegen und daher in der übergeordneten Node bleiben.
Bei einer größeren Map sind es so in der Level-0 Node > 2400 Polygone, die so immer gezeichnet werden, was nicht gerade optimal für die Performance ist.
Daher beabsichtige ich Polygone die zwischen 2 oder mehr Nodes liegen bis zu einem gewissen Grad in kleinere Polygone aufzuteilen.
genau das was du vorhast habe ich damals bei meinem ersten Octree auch getan. Jedes Triangle immer so klein geschnitten das es nur in einer Node war.
Geht zwar prinzipiell, aber ist den Aufwand in der Regel nicht wert.
Mittlerweile packe ich auch keine einzelnen Polygone mehr in die Nodes des Octrees, sondern nurnoch Objekte. Und wenn ein Objekt zu groß ist für eine Node, kommt es einfach in mehrere Nodes rein.
Wenn etwas so groß ist, das es eben in allen Nodes drin ist, dann sieht man es sowieso auch immer..
Da kann man dann nur sagen das man beim Level design schon drauf achtet das man zu große Objekte einfach in ein paar kleinere aufsplittet.
Ich bevorzuge es aber auch das ganze ersten Objektweise zu machen und die Objekte entweder in mehrere Nodes zu packen oder die Nodes überlappen zu lassen. Zu letzterem wäre das Stichwort R-Tree.
Registriert: Do Feb 21, 2008 22:10 Beiträge: 89 Wohnort: Boppard
Das Problem ist, das ich für jede Node beim rendern eine DisplayList anlege.
Daher ist es nicht möglich, Polygone in mehreren nodes zu haben.
Außerdem rede ich nicht von großen Polygonen, sondern von mittelgroßen bis kleinen, die nur dummerweise eben genau zwischen 2 oder mehr Nodes liegen was in einer Map unweigerlich vorkommt.
Und wie gesagt sind das bei der (noch recht undetaillierten) Map die ich momentan zu Testzwecken verwende schon in der obersten Node > 2400 Polygone.
Die Idee Meshes zu verwenden hatte ich auch schon, doch zur Zeit habe ich noch nicht die mögichkeit Maps mit Meshes zu erstellen (es gibt noch keinen Level-Editor zu meiner Engine)
Außerdem rede ich nicht von großen Polygonen, sondern von mittelgroßen bis kleinen, die nur dummerweise eben genau zwischen 2 oder mehr Nodes liegen was in einer Map unweigerlich vorkommt.
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.