From b239c6706e77796f89f79717efbd59cf987061f2 Mon Sep 17 00:00:00 2001 From: QbieShay Date: Fri, 13 Nov 2020 17:44:41 +0100 Subject: [PATCH] visual server now sorts based on aabb position this was causing issues with scenes where the origin of the objects was set for all objects to the center of the scene, making transparent objects sort improperly This work was kindly sponsored by IMVU Co-authored-by: RevoluPowered --- servers/visual/visual_server_scene.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/servers/visual/visual_server_scene.cpp b/servers/visual/visual_server_scene.cpp index afb3f41c7546..c14631e42974 100644 --- a/servers/visual/visual_server_scene.cpp +++ b/servers/visual/visual_server_scene.cpp @@ -2025,8 +2025,8 @@ void VisualServerScene::_prepare_scene(const Transform p_cam_transform, const Ca geom->gi_probes_dirty = false; } - - ins->depth = near_plane.distance_to(ins->transform.origin); + Vector3 aabb_center = ins->transformed_aabb.position + (ins->transformed_aabb.size * 0.5); + ins->depth = near_plane.distance_to(aabb_center); ins->depth_layer = CLAMP(int(ins->depth * 16 / z_far), 0, 15); }