ABSTRACT

This chapter describes a method for computing and rendering smoke-like fluid in real time on the Graphics processing units (GPU) using DirectX 11+ with a key focus on the advantages of simulating and storing these simulations in a sparse domain. It presents an extension of common volume rendering techniques that dramatically reduces the cost associated with rendering volumetric fluid simulations. The chapter addresses the issues by proposing a method for simulating and storing these grids sparsely. It focuses on the Jacobi method for computing pressure in a localized system. In the context of fluid simulation, tiled resources can be used to sparsely allocate the simulation grid, and the virtual address table can be manipulated to represent our indirection volume. Sparse volume rendering may provide a considerable performance boost over non-sparse techniques when rendering fluid, but the algorithm prevents handy rendering optimization typically used in regular volume rendering: early ray termination.