This follows the other CMake "modernization" commits, this time for `bf_intern_openvdb` and the OpenVDB dependency itself. The difference with this one is that `intern/openvdb` becomes an "optional" dependency itself. This is because downstream consumers often want to include this dependency rather than openvdb directly, so this target must also be optional. Optional, in this case, means the target always exists but may be entirely empty. Summary - If you are using BKE APIs to access openvdb features, then use the `bf::blenkernel` target - If you are only using `intern/openvdb` APIs then use the `bf::intern::optional::openvdb` target (rare) - For all other cases, use the `bf::dependencies::optional::openvdb` target (rare) context: https://devtalk.blender.org/t/cmake-cleanup/30260 Pull Request: https://projects.blender.org/blender/blender/pulls/137071
Mantaflow
Mantaflow is an open-source framework targeted at fluid simulation research in Computer Graphics. Its parallelized C++ solver core, python scene definition interface and plugin system allow for quickly prototyping and testing new algorithms.
In addition, it provides a toolbox of examples for deep learning experiments with fluids. E.g., it contains examples how to build convolutional neural network setups in conjunction with the tensorflow framework.
For more information on how to install, run and code with Mantaflow, please head over to our home page at http://mantaflow.com
Debugging
You could export openVDB volume into mantaflow, by running Blender with:
blender --debug-value 3001
And then select Domain -> Fluid -> Cache - > Advanced -> Export Mantaflow Script.