[Bf-blender-cvs] [c1e80528b4c] principled-v2: Use uniform random sampling for sheen
Lukas Stockner
noreply at git.blender.org
Mon Jul 4 23:56:14 CEST 2022
Commit: c1e80528b4ccdeb266ac83c74051a63694a088d3
Author: Lukas Stockner
Date: Mon Jul 4 23:31:48 2022 +0200
Branches: principled-v2
https://developer.blender.org/rBc1e80528b4ccdeb266ac83c74051a63694a088d3
Use uniform random sampling for sheen
===================================================================
M intern/cycles/kernel/closure/bsdf_principled_sheen.h
===================================================================
diff --git a/intern/cycles/kernel/closure/bsdf_principled_sheen.h b/intern/cycles/kernel/closure/bsdf_principled_sheen.h
index fa580a540cb..09a82553296 100644
--- a/intern/cycles/kernel/closure/bsdf_principled_sheen.h
+++ b/intern/cycles/kernel/closure/bsdf_principled_sheen.h
@@ -157,7 +157,7 @@ ccl_device float3 bsdf_principled_sheen_eval_reflect(ccl_private const ShaderClo
float3 H = normalize(L + V);
if (dot(N, omega_in) > 0.0f) {
- *pdf = fmaxf(dot(N, omega_in), 0.0f) * M_1_PI_F;
+ *pdf = M_1_2PI_F;
if (bsdf->type == CLOSURE_BSDF_PRINCIPLED_SHEEN_V2_ID) {
return sheen_v2_eval(N, V, L, H, bsdf->roughness, pdf);
}
@@ -197,7 +197,7 @@ ccl_device int bsdf_principled_sheen_sample(ccl_private const ShaderClosure *sc,
float3 N = bsdf->N;
- sample_cos_hemisphere(N, randu, randv, omega_in, pdf);
+ sample_uniform_hemisphere(N, randu, randv, omega_in, pdf);
if (dot(Ng, *omega_in) > 0) {
float3 H = normalize(I + *omega_in);
More information about the Bf-blender-cvs
mailing list