[Bf-blender-cvs] [516a060bb38] master: Fix T89523: Cycles OpenCL compile error after recent changes

Brecht Van Lommel noreply at git.blender.org
Tue Jun 29 19:47:17 CEST 2021


Commit: 516a060bb38d119a397848d30f6e5923d95f135f
Author: Brecht Van Lommel
Date:   Tue Jun 29 19:23:36 2021 +0200
Branches: master
https://developer.blender.org/rB516a060bb38d119a397848d30f6e5923d95f135f

Fix T89523: Cycles OpenCL compile error after recent changes

Also correctly used inverse transposed matrix for normal transform.

===================================================================

M	intern/cycles/kernel/bvh/bvh_util.h

===================================================================

diff --git a/intern/cycles/kernel/bvh/bvh_util.h b/intern/cycles/kernel/bvh/bvh_util.h
index 168c2939136..6c152cbb249 100644
--- a/intern/cycles/kernel/bvh/bvh_util.h
+++ b/intern/cycles/kernel/bvh/bvh_util.h
@@ -85,7 +85,9 @@ ccl_device_inline float3 smooth_surface_offset(KernelGlobals *kg, ShaderData *sd
   const float w = 1 - u - v;
   float3 P = V[0] * u + V[1] * v + V[2] * w; /* Local space */
   float3 n = N[0] * u + N[1] * v + N[2] * w; /* We get away without normalization */
-  n = transform_direction(&(sd->ob_tfm), n); /* Normal x scale, world space */
+
+  n = normalize(
+      transform_direction_transposed_auto(&sd->ob_itfm, n)); /* Normal x scale, world space */
 
   /* Parabolic approximation */
   float a = dot(N[2] - N[0], V[0] - V[2]);



More information about the Bf-blender-cvs mailing list