Fix previous transform getting remembered for 2 frames after the instance stops moving.

This commit is contained in:
Skyth
2026-06-01 14:48:34 +03:00
parent dff2b9bb66
commit adb14a5397
2 changed files with 2 additions and 2 deletions
@@ -1093,7 +1093,7 @@ void RenderForwardClustered::_fill_render_list(RenderListType p_render_list, con
lod_distance = surface_distance.length();
}
if (unlikely(inst->transform_status != GeometryInstanceForwardClustered::TransformStatus::NONE && frame > inst->prev_transform_change_frame + 1 && inst->prev_transform_change_frame)) {
if (unlikely(inst->transform_status != GeometryInstanceForwardClustered::TransformStatus::NONE && frame > inst->prev_transform_change_frame && inst->prev_transform_change_frame)) {
inst->prev_transform = inst->transform;
inst->transform_status = GeometryInstanceForwardClustered::TransformStatus::NONE;
}
@@ -2100,7 +2100,7 @@ void RenderForwardMobile::_fill_instance_data(RenderListType p_render_list, uint
SceneState::InstanceData instance_data;
if (inst->prev_transform_dirty && frame > inst->prev_transform_change_frame + 1 && inst->prev_transform_change_frame) {
if (inst->prev_transform_dirty && frame > inst->prev_transform_change_frame && inst->prev_transform_change_frame) {
inst->prev_transform = inst->transform;
inst->prev_transform_dirty = false;
}