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
diff options
context:
space:
mode:
authorPhilipp Oeser <info@graphics-engineer.com>2022-04-05 18:17:03 +0300
committerClément Foucault <foucault.clem@gmail.com>2022-04-21 12:09:06 +0300
commitb56eaea7947114286a7405d76c5b00b583e29a06 (patch)
treecfb19383d0e99ec28e06fb4d8a183973153e6f01
parentaf9ecb888edc41cd605b06f221c44ecad749b550 (diff)
Fix Empty "Only Axis Aligned" viewing angle depends on object scale
This was projecting the unnormalized z scale axis onto the plane defined by the view vector. If object scale was very small, this made the empty still visible at viewing angles far from the object axis. Now use the normalized z scale axis to make this work the same at all object scales. Fixes T97004. Maniphest Tasks: T97004 Differential Revision: https://developer.blender.org/D14557
-rw-r--r--source/blender/blenkernel/intern/object.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/object.cc b/source/blender/blenkernel/intern/object.cc
index cc68337e570..bafdbb6bb7e 100644
--- a/source/blender/blenkernel/intern/object.cc
+++ b/source/blender/blenkernel/intern/object.cc
@@ -3974,8 +3974,9 @@ bool BKE_object_empty_image_data_is_visible_in_view3d(const Object *ob, const Re
}
if (visibility_flag & OB_EMPTY_IMAGE_HIDE_NON_AXIS_ALIGNED) {
- float3 proj;
- project_plane_v3_v3v3(proj, ob->obmat[2], rv3d->viewinv[2]);
+ float3 proj, ob_z_axis;
+ normalize_v3_v3(ob_z_axis, ob->obmat[2]);
+ project_plane_v3_v3v3(proj, ob_z_axis, rv3d->viewinv[2]);
const float proj_length_sq = len_squared_v3(proj);
if (proj_length_sq > 1e-5f) {
return false;