1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-10 13:00:37 +00:00

Fix game view visual streaking when selecting nodes

This commit is contained in:
Jayden Sipe
2025-03-13 17:58:22 -04:00
parent 701505eb4f
commit 6c586d20df

View File

@@ -1991,6 +1991,11 @@ void RuntimeNodeSelect::_update_selection() {
RS::get_singleton()->instance_set_transform(sb->instance_ofs, t_offset);
RS::get_singleton()->instance_set_transform(sb->instance_xray, t);
RS::get_singleton()->instance_set_transform(sb->instance_xray_ofs, t_offset);
RS::get_singleton()->instance_reset_physics_interpolation(sb->instance);
RS::get_singleton()->instance_reset_physics_interpolation(sb->instance_ofs);
RS::get_singleton()->instance_reset_physics_interpolation(sb->instance_xray);
RS::get_singleton()->instance_reset_physics_interpolation(sb->instance_xray_ofs);
}
#endif // _3D_DISABLED
}
@@ -2027,12 +2032,14 @@ void RuntimeNodeSelect::_update_selection_drag(const Point2 &p_end_pos) {
if (root->is_canvas_transform_override_enabled()) {
Transform2D xform = root->get_canvas_transform_override();
RS::get_singleton()->canvas_item_set_transform(sel_drag_ci, xform);
RS::get_singleton()->canvas_item_reset_physics_interpolation(sel_drag_ci);
selection_drawing.position = xform.affine_inverse().xform(selection_drag_area.position);
selection_drawing.size = xform.affine_inverse().xform(p_end_pos);
thickness = MAX(1, Math::ceil(1 / view_2d_zoom));
} else {
RS::get_singleton()->canvas_item_set_transform(sel_drag_ci, Transform2D());
RS::get_singleton()->canvas_item_reset_physics_interpolation(sel_drag_ci);
selection_drawing.position = selection_drag_area.position;
selection_drawing.size = p_end_pos;