From 65d910aef708e863d8ffde8e406ba58ce46e211c Mon Sep 17 00:00:00 2001 From: Weizhen Huang Date: Thu, 22 Feb 2024 12:07:35 +0100 Subject: [PATCH] Fix wrong roughness in Principled Hair Huang trrt+ component --- intern/cycles/kernel/closure/bsdf_principled_hair_huang.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/intern/cycles/kernel/closure/bsdf_principled_hair_huang.h b/intern/cycles/kernel/closure/bsdf_principled_hair_huang.h index 518820997fb..9d9b4c89c9f 100644 --- a/intern/cycles/kernel/closure/bsdf_principled_hair_huang.h +++ b/intern/cycles/kernel/closure/bsdf_principled_hair_huang.h @@ -760,8 +760,8 @@ ccl_device int bsdf_hair_huang_sample(const KernelGlobals kg, /* Sample `theta_o`. */ const float rand_theta = max(lcg_step_float(&sd->lcg_state), 1e-5f); const float fac = 1.0f + - bsdf->roughness * - logf(rand_theta + (1.0f - rand_theta) * expf(-2.0f / bsdf->roughness)); + 4.0f * bsdf->roughness * + logf(rand_theta + (1.0f - rand_theta) * expf(-0.5f / bsdf->roughness)); const float sin_theta_o = -fac * sin_theta(wi) + cos_from_sin(fac) * cosf(M_2PI_F * lcg_step_float(&sd->lcg_state)) * cos_theta(wi);