From 7261d675e6aeb1b0dff2712f50df9f4da6e1d453 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 30 Jan 2018 12:40:05 +0100 Subject: Fix Cycles incorrect principled BSDF mixing with some parameter variatons. Spotted by Ha Hyung-jin, thanks! --- intern/cycles/kernel/closure/bsdf_microfacet.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'intern/cycles/kernel/closure') diff --git a/intern/cycles/kernel/closure/bsdf_microfacet.h b/intern/cycles/kernel/closure/bsdf_microfacet.h index 18b645e0ecb..2dd59354058 100644 --- a/intern/cycles/kernel/closure/bsdf_microfacet.h +++ b/intern/cycles/kernel/closure/bsdf_microfacet.h @@ -336,7 +336,9 @@ ccl_device bool bsdf_microfacet_merge(const ShaderClosure *a, const ShaderClosur (bsdf_a->ior == bsdf_b->ior) && ((bsdf_a->extra == NULL && bsdf_b->extra == NULL) || ((bsdf_a->extra && bsdf_b->extra) && - (isequal_float3(bsdf_a->extra->color, bsdf_b->extra->color)))); + (isequal_float3(bsdf_a->extra->color, bsdf_b->extra->color)) && + (isequal_float3(bsdf_a->extra->cspec0, bsdf_b->extra->cspec0)) && + (bsdf_a->extra->clearcoat == bsdf_b->extra->clearcoat))); } ccl_device int bsdf_microfacet_ggx_aniso_setup(MicrofacetBsdf *bsdf) -- cgit v1.2.3