Browse Source

Revert incorrect rounding when 2D transform snapping

kleonc 10 months ago
parent
commit
8d3e9aa7ae
1 changed files with 3 additions and 3 deletions
  1. 3 3
      servers/rendering/renderer_canvas_cull.cpp

+ 3 - 3
servers/rendering/renderer_canvas_cull.cpp

@@ -95,7 +95,7 @@ void RendererCanvasCull::_collect_ysort_children(RendererCanvasCull::Item *p_can
 			}
 			}
 
 
 			if (snapping_2d_transforms_to_pixel) {
 			if (snapping_2d_transforms_to_pixel) {
-				child_xform.columns[2] = child_xform.columns[2].round();
+				child_xform.columns[2] = (child_xform.columns[2] + Point2(0.5, 0.5)).floor();
 			}
 			}
 
 
 			r_items[r_index] = child_items[i];
 			r_items[r_index] = child_items[i];
@@ -303,8 +303,8 @@ void RendererCanvasCull::_cull_canvas_item(Item *p_canvas_item, const Transform2
 		Transform2D parent_xform = p_parent_xform;
 		Transform2D parent_xform = p_parent_xform;
 
 
 		if (snapping_2d_transforms_to_pixel) {
 		if (snapping_2d_transforms_to_pixel) {
-			self_xform.columns[2] = self_xform.columns[2].round();
-			parent_xform.columns[2] = parent_xform.columns[2].round();
+			self_xform.columns[2] = (self_xform.columns[2] + Point2(0.5, 0.5)).floor();
+			parent_xform.columns[2] = (parent_xform.columns[2] + Point2(0.5, 0.5)).floor();
 		}
 		}
 
 
 		final_xform = parent_xform * self_xform;
 		final_xform = parent_xform * self_xform;