From 8232cf5287445d21b7d6effb3f0e1ffb6df09adf Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 9 Nov 2022 19:35:54 +0100 Subject: Fix T101669: Cycles artifacts in bump map baking After barycentric convention changes, the differentials used for bump mapping were wrong leading to artifacts with long thin triangles. --- intern/cycles/kernel/integrator/init_from_bake.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/intern/cycles/kernel/integrator/init_from_bake.h b/intern/cycles/kernel/integrator/init_from_bake.h index 667ba949760..cc3fbe3fe39 100644 --- a/intern/cycles/kernel/integrator/init_from_bake.h +++ b/intern/cycles/kernel/integrator/init_from_bake.h @@ -156,6 +156,13 @@ ccl_device bool integrator_init_from_bake(KernelGlobals kg, u = v; v = 1.0f - tmp - v; + const float tmpdx = dudx; + const float tmpdy = dudy; + dudx = dvdx; + dudy = dvdy; + dvdx = -tmpdx - dvdx; + dvdy = -tmpdy - dvdy; + /* Position and normal on triangle. */ const int object = kernel_data.bake.object_index; float3 P, Ng; -- cgit v1.2.3