CUDA-accelerated simulation of multiple scattering using decoupling approximation
In this research a CUDA-accelerated simulation method of multiple scattering in dense participating media based on decoupling approximation is proposed. Simulation of multiple scattering is important, in that it visually illustrates how radiance transfers between gaseous particles. The existing radiance transfer equation has poor computational performance because of its complicated integral calculation of in-scattering in each radiance update. However, this computation can be avoided using previous cached results proposed in this paper. To construct the cached results, we first decouple the phase function in radiance transfer equation with singular value decomposition (SVD) approximation. SVD approximates the multivariate phase function as a sum of products of incident light and outgoing light of lower dimensionality. Then the incident light and outgoing light data of current radiance update are cached independently in two textures. The cached two textures are used to replace integral calculation of in-scattering in the next radiance update to improve computation performance. The proposed method is designed in a parallelized way so that the parallel computing power of CUDA can be fully exploited. The simulation results show that our method allows fast rendering of dynamic scenes while high accuracy is maintained.
cuda multiple scattering participating media phase function singular value decomposition