Houdini GPU Fluid Solver powered by NanoVDB
GPL-3.0 License
This is a project used to learn Fluid Dynamics and GPU acceleration through Cuda.
Converting back and forth from OpenVDB to NanoVDB is expensive, around 150ms each with 6M active voxel with a 1080ti. To avoid those conversions, the idea is to load only the sourcing at every frame which are usually smaller VDBs, and add those sourcing VDBs to the existing data in the GPU. We can then decide which grid we want to build in Houdini at every frame (usually the density). this grid has to be converted from NanoVDB to OpenVDB.
For a simple simulation with a Density grid and Velocity grid with 6M active voxels for each grids, this avoids having to load at every frame the newly build Density / Velocity ~300ms and having to build those grid back in Houdini, ~300ms.
To comply with Houdini 20.5.278, I use Visual Studio 2022 with v142 compiler version. Make sure you have at least Cuda 12.2 install.
git pull https://github.com/ZephirFXEC/HNanoSolver.git
cd HNanoSolver && mkdir build && cd build
cmake .. -G "Visual Studio 17 2022" -T "v142"