Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2018-01-30 14:40:05 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2018-01-30 17:05:47 +0300
commit7261d675e6aeb1b0dff2712f50df9f4da6e1d453 (patch)
tree733ddccdddcd39bd9f36441ec5cfec7d28c0eae8 /intern/cycles/kernel/closure/bsdf_microfacet.h
parentb3c4a2a8da7f1a243628da852d1b8fdc986cbc25 (diff)
Fix Cycles incorrect principled BSDF mixing with some parameter variatons.
Spotted by Ha Hyung-jin, thanks!
Diffstat (limited to 'intern/cycles/kernel/closure/bsdf_microfacet.h')
-rw-r--r--intern/cycles/kernel/closure/bsdf_microfacet.h4
1 files changed, 3 insertions, 1 deletions
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)