Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastián Barschkis <sebbas@sebbas.org>2020-07-31 18:42:00 +0300
committerSebastián Barschkis <sebbas@sebbas.org>2020-07-31 18:42:08 +0300
commit7e64f6cee4226f8b4b488b15f37b6088af274b6b (patch)
tree6d130906e3547151867ce5dc93e5695e9beea479 /source/blender/blenkernel/intern/fluid.c
parent83f8223543f58c3b0881a03b6e9ddffff918b680 (diff)
Fluid: Fix for Python pointer update (flickering in smoke/fire issue)
In f2b04302cdec 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 in 51f4bee5a5d7, however, and so in order to still have some sort of update, the given update call needs to be available to all cache types.
Diffstat (limited to 'source/blender/blenkernel/intern/fluid.c')
-rw-r--r--source/blender/blenkernel/intern/fluid.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/source/blender/blenkernel/intern/fluid.c b/source/blender/blenkernel/intern/fluid.c
index b2ce66a6d89..1629b07faf3 100644
--- a/source/blender/blenkernel/intern/fluid.c
+++ b/source/blender/blenkernel/intern/fluid.c
@@ -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;