From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

Week 6

What's been done

  • I revamped the liquid inflow. That is, I refactored the implementation I wrote earlier (rB0972761bf0fa) which uses 6 raycasts and distances to the mesh surface from within and outside a closed mesh. It's working nicely and, in my view, also produces more accurate meshes than Elbeem. (rB17d51b6d097d, rB9773ffa92ff7, rB9a78eea0811c)
  • I found out why my meshes did not scale correctly. While looking for some scaling mechanism and comparing my code with Elbeem, I found a small but mighty bug in my code. The vertex getters in my cpp wrapper had wrong return types (-_-). Glad I found this, it was really annoying me. (rB93872456e6eb)
  • Fixing the "vertex getter bug" allowed me to finally implement a scaling mechanism for the generated liquid mesh. So I did that. Generated liquid mesh and inflow objects should now match in size. (rB77bb36bffbe3, rBcf3c18948bce)
Generated liquid mesh and inflow geometry now match in size.

Next up

  • I am still trying to figure out why faces are missing in my meshes and why you cannot enable them with smoke domains in general. I'll keep looking for the reason but also continue with other tasks.
  • The cache is currently not considering frame 0 - the frame before any advection. However, showing that frame at the beginning would be nice as it shows the initial generated mesh configuration. To get this working, I'll probably add an option to switch between "Geometry" and "Preview" mode (similar to Elbeem).
  • Start working on the UI. I have some Mantaflow options on my list that I would like make accessible to the user.

Questions

  • No

Notes

  • The option for "smoke & liquid" (combined) will have to wait. I discussed this with my mentor last week and we agreed to first get the liquids themselves working.
  • Poke me on IRC or via email if you want to play with the liquids (viewport should work). I can tell you how to setup a simulation and where crashes might occur.