From 902209eda52756f510c7ac21c9075e5ea465ad9e Mon Sep 17 00:00:00 2001 From: Lukas Stockner Date: Mon, 20 Jan 2020 22:54:58 +0100 Subject: Partial Fix T73043: Denoising Albedo not working well for Sheen Similar to the Microfacet Closures, the Principled BSDF Sheen closure is added at a high weight but typically results in fairly low values. Therefore, the default weight is a bad indicator of importance. The fix here is the same as it was back then for Microfacets: Compute an average weight using the normal as the half-vector and use it to scale down the sample weight and the albedo channel. In addition to drastically improving denoising of materials with sheen when using the new Denoising node, this also can reduce noise on such materials considerably. --- intern/cycles/kernel/svm/svm_closure.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'intern/cycles/kernel/svm') diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h index 1511fc65835..bf2d3f4fbff 100644 --- a/intern/cycles/kernel/svm/svm_closure.h +++ b/intern/cycles/kernel/svm/svm_closure.h @@ -290,7 +290,7 @@ ccl_device void svm_node_closure_bsdf(KernelGlobals *kg, bsdf->N = N; /* setup bsdf */ - sd->flag |= bsdf_principled_sheen_setup(bsdf); + sd->flag |= bsdf_principled_sheen_setup(sd, bsdf); } } -- cgit v1.2.3