Fix: EEVEE-Next: Incorect GGX reflection PDF

Fix #122291
This commit is contained in:
Clément Foucault
2024-05-27 10:45:52 +02:00
parent da4f84a416
commit e7fc8d5d64

View File

@@ -208,7 +208,9 @@ BsdfEval bxdf_ggx_eval(vec3 N, vec3 L, vec3 V, float alpha, float eta, const boo
float k = (1.0 - a2) * s2 / (s2 + a2 * square(Vt.z));
eval.pdf = D / (2.0 * (k * Vt.z + t));
}
eval.pdf = D * (t - Vt.z) / (2.0 * len_ai_sqr);
else {
eval.pdf = D * (t - Vt.z) / (2.0 * len_ai_sqr);
}
#if 0 /* Should work without going into tangent space. But is currently wrong. */
float sin_theta = sqrt(1.0 - square(NV));