利用者:Sebbas/GSoC 2016/Reports/Preparations

提供: wiki
移動先: 案内検索

Preparations

What's been done

  • I started off by reading the old Elbeem code. While doing so, I realized that most of it will not be needed for this integration - fluid domain settings can be parsed into the Mantaflow script, general code structure can be adopted from the smoke architecture. The critical part, I think, will be to get the fluid object into Mantaflow.
  • Added some Mantaflow script snippets. Similarly to the smoke integration, Blender needs the Python code snippets to talk to Mantaflow. The NB FLIP script (flip05_nbflip.py) from Mantaflow provided a lot of features that I was planning for Blender as well (the NB FLIP itself, adaptive time stepping, particle resampling). I therefore used it as my main source.
  • Set up the liquid API. In my view, the smoke code employs a neat way to separate internal C code from Mantaflow API code through the means of a .cpp object. For the liquids I would like to have similar mechanism. I therefore introduced two new wrappers:
    • LIQUID.cpp, the API object that communicates with Mantaflow
    • manta_liquid_API.cpp, a wrapper class to communicate with internal Blender code
  • I managed to get a prototype working which builds a liquid script, reads a fluid mesh and writes the .bobj.gz fluid cache to the disk. It's far from perfect but good start to show were the project is headed. (https://vimeo.com/166793851)

Next up

  • First thing to do with the new wrapper classes, is to fill them with more "life". Therefore, I think it is best to first focus on parsing the domain settings correctly.

Questions

  • No