[Bf-blender-cvs] [4896e72a4d9] blender-v3.1-release: Fix T95977: Point Info node radius wrong under rotation

Brecht Van Lommel noreply at git.blender.org
Fri Feb 25 21:07:08 CET 2022


Commit: 4896e72a4d9d4fc65aae15a5120ce9f1b53482f7
Author: Brecht Van Lommel
Date:   Fri Feb 25 20:03:25 2022 +0100
Branches: blender-v3.1-release
https://developer.blender.org/rB4896e72a4d9d4fc65aae15a5120ce9f1b53482f7

Fix T95977: Point Info node radius wrong under rotation

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

M	intern/cycles/kernel/geom/point.h
M	intern/cycles/util/math.h

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

diff --git a/intern/cycles/kernel/geom/point.h b/intern/cycles/kernel/geom/point.h
index 545b5c7fa43..29e2bcbe9e3 100644
--- a/intern/cycles/kernel/geom/point.h
+++ b/intern/cycles/kernel/geom/point.h
@@ -141,9 +141,10 @@ ccl_device float point_radius(KernelGlobals kg, ccl_private const ShaderData *sd
       return r;
     }
     else {
-      float3 dir = make_float3(r, r, r);
+      const float normalized_r = r * (1.0f / M_SQRT3_F);
+      float3 dir = make_float3(normalized_r, normalized_r, normalized_r);
       object_dir_transform(kg, sd, &dir);
-      return average(dir);
+      return len(dir);
     }
   }
 
diff --git a/intern/cycles/util/math.h b/intern/cycles/util/math.h
index 5f047f6f3f4..5c94baccf0c 100644
--- a/intern/cycles/util/math.h
+++ b/intern/cycles/util/math.h
@@ -80,6 +80,9 @@ CCL_NAMESPACE_BEGIN
 #ifndef M_SQRT2_F
 #  define M_SQRT2_F (1.4142135623730950f) /* sqrt(2) */
 #endif
+#ifndef M_SQRT3_F
+#  define M_SQRT3_F (1.7320508075688772f) /* sqrt(3) */
+#endif
 #ifndef M_LN2_F
 #  define M_LN2_F (0.6931471805599453f) /* ln(2) */
 #endif



More information about the Bf-blender-cvs mailing list