Write a "known issues" section for the new fluids system
December 02 - 06
Added some more explanations to some of the diffs in the Manta review task (T59995).
Tried out all the macOS bugs from the workboard on phabricator to get on overview of the state of OSX bugs.
Get reviewers attention for the Manta patch (T59995).
November 25 - 29
The "Replay" cache is now able to reset the cache after changing any of the values from the domain settings (6feca2c).
In the "Final" cache type, you can now bake the entire simulation at once (5628318).
I added functionality to the flame vorticity field. For some reason, it had just been sitting there with no effect on the simulation. That's now fixed (aaa0cec, e96877c).
The review for the Manta fluids patch (T59995) is fully in sync with the fluid-mantaflow branch again.
An issue in the Manta C API has been addressed as well (6b7b619).
I helped Clément with a macOS bug fix (T71147). All credits to him though, I just typed away his debugging ideas on my Mac.
Get reviewers attention for the Manta patch (T59995).
November 18 - 22
I committed a bigger update for liquids. The update obviously included the patch for the liquid "blockiness" issue (e1aa388) but there were also some helpful smaller changes: There is now an option to constrain the number of simulation steps per frame (13124fa), and it's now also possible to manually set the FLIP ratio.
Another change is in the build system. The Mantaflow source files are now in extern/ where they actually belong to (20933a1).
There was really annoying bug that didn't allow the user to render the scene. That's fixed now (baceb91).
An offset issue with liquid particles has been fixed (after changing the origin the simulation wasn't displayed at the correct location) (b0f221b).
Liquids are now finally completely visible in solid mode (b0b9271).
There was bug where Eevee was trying to draw a smoke volume although the domain was set up as a liquid domain. Not sure if anybody ever noticed this bug, but it's fixed now (98d7f35).
A mesh deallocation, which was leaking memory, has been fixed (fcb49d8).
Spend more time on the actual review, update the patches and help the reviewers as much as possible to get branch into master.
November 11 - 15
I finally managed to get the liquid "blockiness" issue under control. That's all.
Commit all fixes for the liquid "blockiness" issue
Prepare the Manta review task. Didn't get to it last week and will definitely focus on it this week.
November 04 - 08
This week I spent more time researching the liquid second order obstacles mode in Mantaflow itself. I managed to find the issue and was able to verify it in Manta. I also notified Nils about my findings.
Fix in addition to T61432: Sampling Subframes not working 2.8. This commit fixes the missing subframes when smoke is being emitted from particles.
Go through more Manta bug reports on Phabricator
Mostly same as last week
Prepare the Manta review task T59995 for master merge (i.e. update diffs and descriptions)
October 28 - 01
Minor cache improvements
Andy tried out the fluid-mantaflow branch and was able to point out some issues:
Bake jobs not fully multithreaded: For some reason BLI_task_parallel_range() in manta.c had very inappropriate default parameters which were preventing proper multithreading. With Bastien's help this has been fixed: Mantaflow: Optimization for parallel tasks
Liquid "blockiness": Liquids are not yet using the second order obstacles mode and therefore flow around inclined obstacles results in "blockiness". I researched the problem, resolved 1 of 2 subtasks that solve this issue and am in contact with Nils to clear up the issue in Manta directly.
Follow up on some discussions from the Mantaflow Task on Phabricator. They got a bit left behind as I was more focused on improving existing features and internal bug reports.
Try to fix the liquid "blockiness" issue. If fixed, Andy can re-simulate the beach scene.
Add a checkbox indicating static obstacles and run the geometry calculation step (i.e. update obstacles location) for such obstacles only once. This should speed up scenes with static obstacles a bit more.
October 21 - 25
Continued cache optimizations from previous week.
October 14 - 18
This week I looked at the caching situation in the fluid-mantaflow branch: I thought it would be nice to see the baking progress in the viewport as well. So I started implementing a new "Cache Type" option.
The options for the cache type are "Replay" and "Modular".
Replay: It's similar to the current smoke caching in master (i.e. "press play to bake"). For manta, I was able to apply this to liquids too.
Modular: Is equal to the existing manta bake system (i.e. bake data, mesh, particles all separately).
The new option is located in the "Cache" panel. It's a first version, things like cache invalidation still need to be implemented.
Fix Github issue #34: Liquid Sim | When resolution >64 Blender crashes after finishing simulation
September 30 - 04
Searched for bottlenecks in the baking system. Found that writing cache files and certain Mantaflow internal functions still take disproportionately long (e.g. in secondary particles plugin).
Idea to fix caching bottleneck: Caching needs to be divided into two modes:
Preview: Equal to existing bake system (e.g. pause + resume functionality, higher overhead due to file IO)
Final: Only bake files that are required for replay of final scene (e.g. only load liquid mesh or secondary particle system, ignore supporting liquid grids or secondary particle life + velocities, no pause + resume functionality)
Preprocessed Manta code in intern/mantaflow/intern/manta_develop/ from now on also formatted with clang-format (for better readability, still read-only though) (4f33838)
Mantaflow repository (Bitbucket):
Fixed crash with secondary particles being out of bounds (7d603c6 )
Refactored secondary particles emission: Multi-threading support (21dc483)