Reports 2019

December 16 - 20

  • General:
    • Cleanup in fluid code, sort of a "post master merge cleanup" (bda4a28, a04573f)
  • Next up:
    • Fluids bug fixes and work on nodes in 2020!

December 09 - 13

  • Next up:
    • Land the Manta patches in master.
    • Write a "known issues" section for the new fluids system

December 02 - 06

  • General:
    • 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.
  • Next up:
    • Get reviewers attention for the Manta patch (T59995).

November 25 - 29

  • General:
    • 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).
  • Review:
    • 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).
  • Bugs:
    • 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.
  • Next up:
    • Get reviewers attention for the Manta patch (T59995).

November 18 - 22

  • General:
    • 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).
  • Bugs:
    • 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).
  • Next up:
    • 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

  • General:
    • I finally managed to get the liquid "blockiness" issue under control. That's all.
  • Next up:
    • 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

  • General:
    • 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.
  • Bugs:
    • Fix in addition to T61432: Sampling Subframes not working 2.8. This commit fixes the missing subframes when smoke is being emitted from particles.
  • Next up:
    • 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

  • General:
    • 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.
  • Next up:
    • 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

  • General:
    • Continued cache optimizations from previous week.
    • Blender Conference

October 14 - 18

  • General:
    • 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.
    • Code: Mantaflow: Added first version of new cache system
  • Bugs:
    • Reviewed D6076: Volumetric: Debug Voxel Size

October 07 - 11

  • General:
    • Looked into some OSX bugs on the bug tracker, especially T64024 (remains unresolved). All in all interesting, OSX bugs might become a niche area of mine (besides physics maintenance).
    • Mantaflow: More research on particles as smoke emitters T70175. Was resolved partially two weeks ago. The unresolved part looks more like unfortunate settings - i.e. not a bug.
    • Confirmed to be unproblematic: T70531.
  • Bugs:
    • Fix TT70511: Mantaflow modifier does not fully copy parameters when linked (ctrl+L) from one object to multiple other objects.
    • Fix T61432: Sampling Subframes not working 2.8
    • Fix Github issue #34: Liquid Sim | When resolution >64 Blender crashes after finishing simulation

September 30 - 04

  • General:
    • 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)

September 23 - 27

  • General:
    • Mantaflow: Fixed viewport issue with voxel indicator cube in fluid domain object (f1c3777)
    • Mantaflow: Fixed crash that occurred during "Bake Free" when using an unknown / non-existent / invalid cache directory. (Only found this bug through the attached .blend file from T70175) (a937bb8)
    • Mantaflow: Fixed issue with missing materials (regression bug) (0d31127)
  • Bugs:
    • Fix T70176: Modifier added to object after mantaflow does not show in stack
    • Fix part of T70175: Mantaflow not using subframes for particle emitters in Gas sim
  • Miscellaneous:
    • Tested overall usability of new fluids bake environment + playing with denoise settings in Cycles (Vimeo)