Smoke Simulation in the CPU
is very slow and not suited for real time projects, even in small grids. Each
frame takes many seconds to render, depending on the size of the grid, and the
most realistic simulations usually require bigger grids than 10 X 1 cells. I would
like to make it more efficient by using the GPU to implement costly
calculations that slow down the simulation and be able to simulate smoke in
bigger grids. I will also use this time to get a good-looking rendering of
smoke.
The first step would be to
move the conjugate gradient solver to the GPU, since this is the slowest step
in the simulation. After that I could focus on either improving the looks by
implementing blackbody rendering and/or
continue taking more steps into the GPU to increase performance further.
Previous work on fluid
simulation on the GPU: