Implementation of a semi-lagrangian and MAC-grid based smoke simulation.