background image
4.3 ,,Cracks" und ,,T-Junctions"
Betrachtet man ein auf solche Weise generiertes Mesh näher, so fallen an vielen Stellen Brüche auf.
In der Literatur spricht man auch von Cracks (Brüchen) und T-Junctions (T-Kreuzungen).
Cracks entstehen an solchen Stellen, an denen zwei Dreiecke aneinander liegen, deren Detailstufen
sich um mehr als eine unterscheiden. In diesem Fall ist es möglich, dass Brüche entlang der Kanten
erzeugt werden, an denen das höher detaillierte Dreieck ein zusätzliches Vertex einführt, das nicht
auf der Kante des niedriger detaillierten Dreiecks liegt. Wird das Bild gerendert, können diese
Cracks Löcher im Mesh erzeugen, die den Hintergrund durchscheinen lassen.
Ein weiteres ungewünschtes Artefakt ist die T-Junction. Diese tritt an den Stellen auf, bei denen ein
Vertex des höher detaillierten Dreiecks auf der Höhe der Kante des niedriger detaillierten Dreiecks
liegt. Dies kann beim Rendern des Bildes zu ,,bleeding edges" (ein Flackern zwischen den Kanten)
führen, verursacht durch minimale Fließkomma-Rundungsunterschiede.
Es gibt mehrere Möglichkeiten, diese Probleme zu lösen:
Die einfachste Lösung wäre, an diesen Stellen die Höhe des T-Kreuzungspunktes auf die
mittlere Höhe der beiden Kantenpunkte des dort liegenden größeren Dreiecks zu setzen.
Diese Methode schließt zwar die Lücken, die durch Cracks entstehen, verhindert aber
trotzdem keine Darstellungsfehler, da hier sämtliche Cracks zu T-Junctions werden. Der
einzige Vorteil dieser Methode ist, dass hier keine zusätzlichen Dreiecke eingeführt werden
müssen. [LOD_3D]
Eine zweite Möglichkeit besteht darin, zwischen den drei Punkten eines Cracks oder einer
T-Junction ein neues Dreieck einzufügen, das die Lücke schließt. Bei großen
Höhenunterschieden führt diese Methode aber zu unschönen Klippen, die das Mesh
unglaubwürdig und unexakt aussehen lassen. [LOD_3D]
Die am häufigsten verwendete Lösung ist, die direkt um den Crack liegenden Dreiecke
rekursiv zu unterteilen (recursive splitting), um so eine kontinuierliche Oberfläche zu
erhalten. Zwar werden dadurch dem Mesh zusätzliche Dreiecke hinzugefügt, aber
21
Abbildung 16: "Cracks" und "T-Junctions" - In der Mitte der Abbildungen liegen drei Dreiecke der
Rekursionsstufen 7 (oberes großes Dreieck) und 9 (die beiden kleineren Dreiecke darunter) aneinander, mit
einem deutlich sichtbarem Crack zwischen ihnen. Diagonal links darüber ist eine ,,T-Junction" zu erkennen.
Die Vertices der Dreiecke sind in der Reihenfolge rot = 1. Punkt, grün = 2. Punkt und blau = 3. Punkt
eingefärbt.