Interactive speed GPU rendering of smoke
This program requires a CUDA compatible GPU. AMD GPUs are not supported.
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