From ad71a04de0d4ee07fc802e35d2c22f422edde041 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cle=CC=81ment=20Foucault?= Date: Sun, 3 Sep 2023 13:41:55 +0200 Subject: [PATCH] EEVEE-Next: Fix G1_V term used to compute the GGX pdf Thanks goes to @weizhen for spotting the mistake. --- .../engines/eevee_next/shaders/eevee_bxdf_sampling_lib.glsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/draw/engines/eevee_next/shaders/eevee_bxdf_sampling_lib.glsl b/source/blender/draw/engines/eevee_next/shaders/eevee_bxdf_sampling_lib.glsl index 6bbaf54ff02..bfca3646b68 100644 --- a/source/blender/draw/engines/eevee_next/shaders/eevee_bxdf_sampling_lib.glsl +++ b/source/blender/draw/engines/eevee_next/shaders/eevee_bxdf_sampling_lib.glsl @@ -59,7 +59,7 @@ vec3 sample_ggx(vec3 rand, float alpha, vec3 Vt, out float G1_V) float x = r * rand.y; float y = r * rand.z; float s = 0.5 * (1.0 + Vh.z); - G1_V = 1.0 / s; + G1_V = Vh.z / s; y = (1.0 - s) * sqrt(1.0 - x * x) + s * y; float z = sqrt(saturate(1.0 - x * x - y * y)); /* Compute normal. */