You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-11 13:10:58 +00:00
Fix game view visual streaking when selecting nodes
This commit is contained in:
@@ -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_ofs, t_offset);
|
||||||
RS::get_singleton()->instance_set_transform(sb->instance_xray, t);
|
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_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
|
#endif // _3D_DISABLED
|
||||||
}
|
}
|
||||||
@@ -2027,12 +2032,14 @@ void RuntimeNodeSelect::_update_selection_drag(const Point2 &p_end_pos) {
|
|||||||
if (root->is_canvas_transform_override_enabled()) {
|
if (root->is_canvas_transform_override_enabled()) {
|
||||||
Transform2D xform = root->get_canvas_transform_override();
|
Transform2D xform = root->get_canvas_transform_override();
|
||||||
RS::get_singleton()->canvas_item_set_transform(sel_drag_ci, xform);
|
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.position = xform.affine_inverse().xform(selection_drag_area.position);
|
||||||
selection_drawing.size = xform.affine_inverse().xform(p_end_pos);
|
selection_drawing.size = xform.affine_inverse().xform(p_end_pos);
|
||||||
thickness = MAX(1, Math::ceil(1 / view_2d_zoom));
|
thickness = MAX(1, Math::ceil(1 / view_2d_zoom));
|
||||||
} else {
|
} else {
|
||||||
RS::get_singleton()->canvas_item_set_transform(sel_drag_ci, Transform2D());
|
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.position = selection_drag_area.position;
|
||||||
selection_drawing.size = p_end_pos;
|
selection_drawing.size = p_end_pos;
|
||||||
|
|||||||
Reference in New Issue
Block a user