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 16:27:01 +0300
committerSebastián Barschkis <sebbas@sebbas.org>2020-07-31 17:32:02 +0300
commitf2b04302cdecb511879cde972e314bca934a32dd (patch)
tree53cdbc8a63854d1b97353239ea42e75a90a2ce22 /source/blender/blenkernel/intern/fluid.c
parent227e20f37004d69567b374df4f24b5d4cda8670c (diff)
Fluid: Refactored Python pointer update function
Use static_cast() where possible and refresh pointers for every frame when in replay mode. The latter is particularly important as this seems to have caused the issue where smoke in the viewport was flickering when loading data from pointers after loading them from disk for the frame before (e.g. when resuming a bake job).
Diffstat (limited to 'source/blender/blenkernel/intern/fluid.c')
-rw-r--r--source/blender/blenkernel/intern/fluid.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/fluid.c b/source/blender/blenkernel/intern/fluid.c
index 079b436a3ea..ae4fa3e1940 100644
--- a/source/blender/blenkernel/intern/fluid.c
+++ b/source/blender/blenkernel/intern/fluid.c
@@ -3617,6 +3617,12 @@ static int manta_step(
fds->time_per_frame = time_per_frame;
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);