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
path: root/intern
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2022-02-25 22:03:25 +0300
committerBrecht Van Lommel <brecht@blender.org>2022-02-25 22:51:22 +0300
commit4896e72a4d9d4fc65aae15a5120ce9f1b53482f7 (patch)
tree703369304ea2e949ed98661314d37f691afed5a9 /intern
parente84b42bfcf105be555c6cfef2692d20b223cdad4 (diff)
Fix T95977: Point Info node radius wrong under rotation
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/kernel/geom/point.h5
-rw-r--r--intern/cycles/util/math.h3
2 files changed, 6 insertions, 2 deletions
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