利用者:Sebbas/GSoC 2016/Reports/Preparations
< 利用者:Sebbas | GSoC 2016 | Reports
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