Ich verstehe das Problem immer noch nicht. In den Fällen, die wir gerade ausgerechnet haben sind die Normalen zu beiden Seiten der Wand jeweils die negierten Versionen voneinander.Schrompf hat geschrieben: Deine Methode ergibt jetzt eine zweite Normale, die da einen sinnvollen Vektor ergibt, wo die erste noch 0 ist. Auch sehr gut, interessanter Gedanke. Leider ist diese Normale in 50% der Fälle falsch, weil eine Wand für eine korrekte Beleuchtung nunmal zwei Oberflächen braucht und nicht nur eine. Und das sind nicht die zwei, die wir gerade ausgerechnet haben, sondern die eine und die negierte Version der einen.
Ja, das verstehe ich schon. Die Frage ist was letztlich effizienter ist. Eine Version die erst erkennen muss dass es sich um eine Ebene handelt und von da aus Bitfrickelt, oder eine generische, die mehr Normalen berechnet und speichert.Im Falle einer Ebene können wir das hier aber ableiten und über ein paar Bits in die Normale kodieren.
Ähm, mein Ansatz war purely 2d. Die Erweiterung auf 3D steht noch aus. Ich finde das in 3D schwer zu visualisieren aber ich sehe nicht warum es in 3D nicht gehen sollte.Und dann wäre da noch der Fall einer Strecke. Dafür brächte es dann anstatt der zwei Normalen eine beliebige Menge Normalen in einer Ebene senkrecht zum Streckenverlauf. Hier scheitert dann auch Dein Ansatz - der findet zwar eine irgendwie geartete Normale, die aber mit den tatsächlichen Erfordernissen der Beleuchtung nix mehr zu tun hat.