Effizientes 3D-Mesh-Smoothing: Nachbarsuche überflüssig machen
Dieser Blogbeitrag präsentiert einen effizienten Algorithmus für das 3D-Mesh-Smoothing, der komplexe Half-Edge-Datenstrukturen vermeidet. Mit einem „Vertex-Throwing“-Ansatz wird direkt über die Dreiecksflächen iteriert, wobei die Positionen der benachbarten Vertexe in einem einzigen Durchlauf akkumuliert werden, um die durchschnittlichen Positionen für das Smoothing zu berechnen. Dies eliminiert die Nachbarsuche und steigert die Effizienz. Der Beitrag untersucht auch verschiedene Parallelisierungsmethoden, einschließlich der Verwendung atomarer Operationen und der Vorkalkulation der Nachbarschaftsliste, und vergleicht deren Performance-Unterschiede. Schließlich wird gezeigt, wie die Vertex-Normalen nach dem Smoothing neu berechnet werden.