[Soc-2016-dev] Weekly Report #02, Mantaflow Liquids

Sebastián Barschkis sebbas at sebbas.org
Fri Jun 3 18:38:14 CEST 2016


Hello everyone,

GSoC week #02 comes to an end - here is what I have been doing:

https://wiki.blender.org/index.php/User:Sebbas/GSoC_2016/Reports/Week_2

Alternatively, here is the plain text version of my report:

= Week 2 =

=== What's been done ===

* I optimized the liquid inflow (which Mantaflow needs to create a mesh). Before
I was using the bounded raycasting function to determine points inside a mesh;
Ideasman42 pointed me to the better (geometry) raycasting function which I am
using now.

* I experimented with the Mantaflow mesh smoothing functions as the mesh surfaces
that Mantaflow produced were much rougher than the Elbeem ones. Using them
improves surface smoothness. However, they are not so performant and my mentor
advised me against using them.
The roughness problem was solved differently: What determines the mesh surface
roughness is the randomness factor in the Mantaflow particle sampling function
(sampleLevelsetWithParticles()). I am now using a much smaller randomness value
(was 0.4). However, GUI access would be nice in the future.

* I was able to find out more about deprecating modifiers - my question from
last week. Apparently, the last time a modifier was "killed" was during the
transition to bmesh in v2.63.
What's important to me is that deprecating modifiers has been done before.
Why? I will continue to build the Mantaflow liquids around the smoke modifier
and leave the fluid modifier untouched. That way, the smoke modifier will turn
into a "correct" and "more complete" fluid modifier (handling gases (smoke,
fire) and liquids). And if desired at some point, one can deprecate Elbeem by
removing the old fluid modifier.

* Re-enabled some smoke functions and introduced some liquid flags.

* Rendered some images to see how multiple flow objects work with the new liquid
inflow.

=== Next up ===

* Integrate the liquid cache so that Blender loads the .bobj.gz files
automatically.
* Check how sampleLevelsetWithParticles() handles distances
* Create comparision video "Falling drop" for Mantaflow vs. Elbeem

=== Questions ===

* (low-prio) Ask bmesh developers about their experience deprecating a modifier.

Best wishes,
Sebastián


More information about the Soc-2016-dev mailing list