From f862edd47ca342e66cfd64484a469ada54b675fb 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 (cherry picked from commit b239c6706e77796f89f79717efbd59cf987061f2) --- 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 12fe324ea27..1fa713f652c 100644 --- a/servers/visual/visual_server_scene.cpp +++ b/servers/visual/visual_server_scene.cpp @@ -2189,8 +2189,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); }