Soweit ich weiß, gibt der Fresnel-Term in einer BRDF die Wahrscheinlichkeit an, dass ein Photon reflektiert oder gebrochen wird, wenn es auf eine Oberfläche trifft.
Die reflektierten Photonen tragen zum spekularen Term bei, während die gebrochenen zum diffusen Term beitragen. Wenn ich also physikalisch den Beitrag eines Lichts zur Materialfarbe bestimme, fühle ich mich versucht, einfach zu schreiben:
// Assuming for example:
// diffuse = dot(L, N);
// specular = pow(dot(H, N), alpha) * (alpha + 2.0) / 8.0;
// fresnel = f0 + (1.0 - f0) * pow(1.0 - dot(E, H), 5.0);
color = lightIntensity * Lerp(diffuse * albedo, specular, fresnel);
Trotzdem glaube ich nicht, dass ich es jemals so geschrieben gesehen habe. Ich habe gesehen, dass der spekulare Term nach dem Fresnel-Term gewichtet wurde, aber nicht nach dem diffusen. Sébastien Lagarde stellt in seinem weitgehend referenzierten Artikel über Züchterrechte sogar fest, dass die Verwendung von zur Gewichtung des diffusen Terms falsch ist.
Was vermisse ich?
Ich würde eine Erklärung sehr begrüßen, die auf offensichtliche Weise aufzeigt, warum dies falsch wäre.