Fluid: Fix for Python pointer update (flickering in smoke/fire issue)
Inf2b04302cd
the pointer update was refactored. It was sufficient to update pointers just in replay mode at the end of a step since the 'ensure()' functions from manta_fluid_API.cpp had their own pointer update call. These were removed in51f4bee5a5
, however, and so in order to still have some sort of update, the given update call needs to be available to all cache types.
This commit is contained in:
parent
83f8223543
commit
7e64f6cee4
|
@ -3619,17 +3619,17 @@ static int manta_step(
|
|||
fds->time_total = time_total;
|
||||
}
|
||||
|
||||
/* Replay mode does not lock the UI. Ensure that fluid data is always up to date. */
|
||||
if (mode_replay) {
|
||||
manta_update_pointers(fds->fluid, fmd);
|
||||
}
|
||||
|
||||
/* Total time must not exceed framecount times framelength. Correct tiny errors here. */
|
||||
CLAMP(fds->time_total, fds->time_total, time_total_old + fds->frame_length);
|
||||
|
||||
/* Compute shadow grid for gas simulations. Make sure to skip if bake job was canceled early. */
|
||||
if (fds->type == FLUID_DOMAIN_TYPE_GAS && result) {
|
||||
manta_smoke_calc_transparency(fds, DEG_get_evaluated_view_layer(depsgraph));
|
||||
}
|
||||
|
||||
/* Ensure that fluid data is always up to date. */
|
||||
manta_update_pointers(fds->fluid, fmd);
|
||||
|
||||
BLI_mutex_unlock(&object_update_lock);
|
||||
|
||||
return result;
|
||||
|
|
Loading…
Reference in New Issue