Das sollte 1/r² heißen, sorry. Und Attenuation ist rein physikalisch nunmal 1/r², alle anderen Faktoren sind nur für die persönliche künstlerische Freiheit gedacht, aber haben physikalisch keinen bzw. kaum einen Sinn. "Kaum" deswegen, weil man über den konstanten Term a0 ja durchaus eine Lichtquelle mit Volumen abbilden kann, auch wenn das Volumen auf eine perfekte Kugel beschränkt ist.
[edit] Bin leider auch an dem Integral gescheitert. Schon das für die diffuse Beleuchtung ist mir zu kompliziert, und Wolfram Alpha krieg ich es nicht beigebracht oder der kann es auch nicht. Der Gedanke dahinter war:
diffus = FARBE * ATT * PHONG
diffuse = F * 1/|r|² * dot( N, r) / |r|
Also Lichtquellenfarbe mal [Attenuation = 1 / quadratischer Abstand] mal [Skalarprodukt zwischen Normale und Vektor_Zum_Licht geteilt durch Länge des Vektor_Zum_Licht]
also
diffuse = F * (1 / |r|²) * (dot( N, r) / |r|)
Und wenn ich jetzt die Lichtstrecke als lineare Strecke parametrisiere, z.B. ganz schlicht "r = lichtmittelposition p + t* irgendne Strecke s" mit t symmetrisch von -0.5 bis 0.5, dann taucht das t als zu integrierende Größe sowohl im Punktprodukt auf als auch in der Betragsrechnung, dort aber hoch drei halbe. Fack. Und da sind wir noch nicht mal beim Specular-Anteil, wo ja noch der Skalarproduktteil ja noch mit irgendnem Faktor potenziert wird. Bäh. Ich bräuchte für sowas mal ne Software, und die Zeit, um mich darin einzuarbeiten. Ich habe ja immerhin ein komplettes Studium geschafft, ohne sowas einmal anzufassen.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Schrompf« (16.01.2013, 15:59)