Sagt mir jetzt nicht viel, aber:
Soll ich also auf jede Normale die Normale des jeweiligen Vertices addieren, nachdem ich alle Normalen eines Vertices miteinander addiert habe?
[EDIT]
Ok, habs versucht, klappt aber nicht. Also wie geht das mit dem L-Shape Problem? Versteh das hier nicht so ganz:
Eine sehr einfache aber effektive Methode um schön glatte Normalen zu bekommen ist, wie schon gezeigt wurde, die Normale jedes Dreiecks aus dem Kreuzprodukt von zwei Kantenvektoren zu berechnen, sie aber noch nicht zu normalisieren. Dann werden diese unnormalisierten Dreiecksnormalen zur Vertexnormale aller Vertices die das Dreieck aufspannen addiert (Vertexnormalen werden zuvor natürlich mit 0 initialisiert). Erst wenn alle Dreiecksnormalen auf die Normalen ihrer Vertices addiert wurden werden die fertigen Vertexnormalen in einem letzten Schritt normalisiert.
Das ganze hat den Hintergrund dass die Länge des Kreuzproduktes proportional zur Fläche des Dreiecks ist. Werden die Dreiecksnormalen also unnormalisiert aufaddiert führt das dazu dass Dreiecke mit größerer Fläche (längerer Normale) auch größeren Einfluss auf die Richtung der Vertexnormale haben als kleinere Dreiecke.
(dot)