diff --git a/source/blender/draw/engines/eevee_next/eevee_velocity.cc b/source/blender/draw/engines/eevee_next/eevee_velocity.cc index ea688fa96d8d1147396054aadfb869b02a0c7707..87407fb887294192f958691b6819204e5327d826 100644 --- a/source/blender/draw/engines/eevee_next/eevee_velocity.cc +++ b/source/blender/draw/engines/eevee_next/eevee_velocity.cc @@ -164,8 +164,7 @@ bool VelocityModule::step_object_sync(Object *ob, object_steps[STEP_PREVIOUS]->get_or_resize( vel.obj.ofs[STEP_PREVIOUS]) = ob->object_to_world(); } - /* STEP_NEXT is not used in viewport. */ - if (vel.obj.ofs[STEP_NEXT] == -1 && !inst_.is_viewport()) { + if (vel.obj.ofs[STEP_NEXT] == -1) { vel.obj.ofs[STEP_NEXT] = object_steps_usage[STEP_NEXT]++; object_steps[STEP_NEXT]->get_or_resize(vel.obj.ofs[STEP_NEXT]) = ob->object_to_world(); } @@ -214,11 +213,11 @@ bool VelocityModule::step_object_sync(Object *ob, if (step_ == STEP_CURRENT && has_motion == true && has_deform == false) { const float4x4 &obmat_curr = (*object_steps[STEP_CURRENT])[vel.obj.ofs[STEP_CURRENT]]; const float4x4 &obmat_prev = (*object_steps[STEP_PREVIOUS])[vel.obj.ofs[STEP_PREVIOUS]]; + const float4x4 &obmat_next = (*object_steps[STEP_NEXT])[vel.obj.ofs[STEP_NEXT]]; if (inst_.is_viewport()) { has_motion = (obmat_curr != obmat_prev); } else { - const float4x4 &obmat_next = (*object_steps[STEP_NEXT])[vel.obj.ofs[STEP_NEXT]]; has_motion = (obmat_curr != obmat_prev || obmat_curr != obmat_next); } } @@ -315,7 +314,6 @@ void VelocityModule::step_swap() std::swap(geometry_steps[step_a], geometry_steps[step_b]); std::swap(camera_steps[step_a], camera_steps[step_b]); std::swap(step_time[step_a], step_time[step_b]); - std::swap(object_steps_usage[step_a], object_steps_usage[step_b]); for (VelocityObjectData &vel : velocity_map.values()) { vel.obj.ofs[step_a] = vel.obj.ofs[step_b]; @@ -346,9 +344,6 @@ void VelocityModule::begin_sync() step_ = STEP_CURRENT; step_camera_sync(); object_steps_usage[step_] = 0; - - /* STEP_NEXT is not used for viewport. (See #131134) */ - BLI_assert(!inst_.is_viewport() || object_steps_usage[STEP_NEXT] == 0); } /* This is the end of the current frame sync. Not the step_sync. */