[Bf-blender-cvs] [54e91c8df8c] cycles-x: Fix bump and displacement in Cycles X
Sergey Sharybin
noreply at git.blender.org
Tue May 18 10:54:47 CEST 2021
Commit: 54e91c8df8cfc0157b4eb7b66ff612608880b132
Author: Sergey Sharybin
Date: Wed May 12 19:34:22 2021 +0200
Branches: cycles-x
https://developer.blender.org/rB54e91c8df8cfc0157b4eb7b66ff612608880b132
Fix bump and displacement in Cycles X
Those got accidentally broken by D11132 (and corresponding commit).
The `object_inverse_dir_transform()` needs to be adjusted so that it
gives correct result for objects which do not have motion (similar to
`object_dir_transform()`).
Differential Revision: https://developer.blender.org/D11241
===================================================================
M intern/cycles/kernel/geom/geom_object.h
===================================================================
diff --git a/intern/cycles/kernel/geom/geom_object.h b/intern/cycles/kernel/geom/geom_object.h
index 4fcbda8caf9..2cb73571332 100644
--- a/intern/cycles/kernel/geom/geom_object.h
+++ b/intern/cycles/kernel/geom/geom_object.h
@@ -237,11 +237,14 @@ ccl_device_inline void object_inverse_dir_transform(const KernelGlobals *kg,
float3 *D)
{
#ifdef __OBJECT_MOTION__
- *D = transform_direction_auto(&sd->ob_itfm_motion, *D);
-#else
- Transform tfm = object_fetch_transform(kg, sd->object, OBJECT_INVERSE_TRANSFORM);
- *D = transform_direction(&tfm, *D);
+ if (sd->object_flag & SD_OBJECT_MOTION) {
+ *D = transform_direction_auto(&sd->ob_itfm_motion, *D);
+ return;
+ }
#endif
+
+ const Transform tfm = object_fetch_transform(kg, sd->object, OBJECT_INVERSE_TRANSFORM);
+ *D = transform_direction(&tfm, *D);
}
/* Object center position */
More information about the Bf-blender-cvs
mailing list