Interactive speed GPU rendering of smoke
To create nice looking smoke is an expensive operation. This code leverages NVIDIA GPUs to create smoke simulations quickly and efficiently using CUDA.
- Download and install Visual Studio 2019
- Download and install CUDA Toolkit 11.3
- Clone the repo
- Build the solution
gpufluid.exe
will be inx64
orx86
,/Debug
or/Release
depending on your build configuration
- Create a new folder named
output
next to thegpufluid.exe
- Create a new folder named
cache
inoutput
folder - Run
gpufluid.exe
- W - zoom in
- S - zoom out
- A - go left
- D - go right
- Left mouse button + A/D rotate camera
- Scrool zomm in/out
- Q - camera up
- Z - camera down
- R - reset simulation
- F - stop exporting
- Render temperature
- Simple Graphical Interface
- Sliders with most important factors
- Camera and light rotation
- Sparse and Multi-Threaded vdb saving
- Host memory usage for Huge Scale Simulations (resolution over 512^3)
- Adaptive Domain - probably won't be faster in case of smoke simulation, however I'll need to do more research
- Object Collision
- Initial sphere collision
- More complex geometry
- Simple Forces --> (Wind, Turbulance, Noise)
- Preset creator (LOAD/SAVE)
- Fix Density over 1.0 issue
- Volume upsampling - In the research phaze
- Wavelet noise upsampling
- Custom Neural Network upsampling
- Smoke Colors
- OpenVDB IO
- Import
- Export
- Works but slowly
- Obj import
- Simple Blender integration
- Faster and better Render Engine
- Smoke adaptive resolution
- Liquids!!!
- FLIP fluid solver
- Sparse Volume optimization
- FLIP whitewater particles
- FLIP mesh solver
Michał Wieczorek