1 / 32

Parallel MDOM for Rendering Participating Media

Parallel MDOM for Rendering Participating Media. Ajit Hakke Patil – Daniele Bernabei Charly Collin – Ke Chen – Sumanta Pattanaik Fabio Ganovelli. Our goal: rendering participating media. Such a medium can: Absorb Scatter Emit light For example: Smoke Cloud Fire Marble.

baka
Télécharger la présentation

Parallel MDOM for Rendering Participating Media

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Parallel MDOM for Rendering Participating Media Ajit Hakke Patil – Daniele Bernabei Charly Collin – Ke Chen – Sumanta Pattanaik Fabio Ganovelli

  2. Our goal: rendering participating media Such a medium can: • Absorb • Scatter • Emit light For example: • Smoke • Cloud • Fire • Marble

  3. Our goal: rendering participating media • accounts for the out-scattering or absorption of light • accounts for the light emitted by the medium (often inexistant) • accounts for the in-scattering of light Interaction between light and the medium is modeled through the Radiative Transfer Equation (RTE): We define the source function as:

  4. Related work • RTE solvers mainly classified as: • Stochastic : • Monte Carlo methods [Pattanaik et al. 1993, Jensen et al. 1998] • trace a number of random photon paths in the medium and follow their interaction to determine a solution for any given medium. • Bidirectional path tracing [Lafortune et al. 1996, Pauly et. al. 2000] • extends the MC approach by tracing random paths starting from both light and view points. • Deterministic: • Zonal Method [Rushmeier et. al. 1987, Silion 1995] • a radiosity-like solution for light transport in uniform scattering media. Sillion improves this method to include a hierarchical radiosity approach. • DOM [Chandrasekhar 1960] • Employs spatial and angular discretization of the domain and solves RTE using an iterative method.

  5. DOM Spatial and angular discretization of the domain. Each grid element captures the scattered light in a finite set of discrete ordinate directions. The arrows along the grid element boundaries represent one of many light propagation directions.

  6. Related work • DOM grid schemes are classified based on their treatment of the linear streaming operator () • Characteristic schemes • Short characteristic schemes • Long characteristic schemes • Finite Element • Integro-Interpolational schemes • DOM limitations: • Ray effects : related to the angular discretization scheme. • False scattering or numerical smearing: related to the spatial discretization.

  7. Related work • Other GPU based volumetric scattering methods: • Diffusion approximation based: • Lattice Boltzmann solution. [Bernabei et. al] • Works well for homogeneous media. • DOM based approaches: • GPU port of Fattal’s LPM method [Gruson et. al] • Cannot handle directional light sources as it is based on regular DOM.

  8. MDOM • MDOM • The Modified Discrete Ordinate Method (MDOM) is the computationally efficient version of the DOM where the final solution to radiative intensity field is broken into a direct (Idir) and an indirect component (Idif) • Helps in overcoming the ray effect present in traditional DOM • allows visualization of only the single scattering approximation • Its deterministic and iterative nature makes it suitable for parallelization.

  9. Direct Component • Indirect Component • satisfies • We use DOM to solve it: • Where: satisfies And its solution is expressed as

  10. MDOM approach and challenges • Our goal is to compute the source function terms (Gm) at each voxel for each DOM direction m. • We do so in 2 steps, • the direct source contributions are added by ray marching light rays • And the indirect contributions are added by solving the indirect DOM eq. iteratively. • Finally, for rendering we use the integral form of RTE. • Challenges: • For high rendering quality results, DOM requires finer angular and spatial discretizations. So, the memory requirements for a DOM based solution are very high and often exceed the memory available on the GPU

  11. Our method • MDOM based parallel, scalable and interactive pipeline. • Provide streaming mechanism for transferring data between the CPU and the GPU

  12. Direct component computation • Ray march light rays from the light. • Add the direct source function contributions • the quadrature weight • the phase function between directions m and m’ • theboundary radiance incoming along direction m’ • theextinction coefficients at voxel v

  13. Direct component computation

  14. Direct component computation

  15. Direct component computation

  16. Direct component computation

  17. Direct component computation

  18. Direct component computation For big volumes, streaming is needed. This is done through 4 tables: Block dirty table Block index table Block memory pool Block request table

  19. Direct component computation CPU GPU Write the scattering information for requested blocks March the rays and: Write an source update Request new blocks Write the source information for requested blocks Sorts of the update tables Update the source values Read the updated source values

  20. Indirect component computation • Iterative solution to the DOM eq. for the diffuse/indirect component, where each iteration corresponds to an scattering event. • During each iteration the scattering contributions from the last scattering iteration () are used as the source function for the current iteration. • We iterate the indirect component computation until convergence:

  21. Indirect component computation • We reduce the storage requirements of the DOM by detaching the propagation angular resolution from the storage angular resolution. • Where • With a phase function normalization factor, to maintain energy conservation:

  22. Indirect component computation How do we update the source function G in each voxel? • The updated radiance inside a voxel is: • At each voxel: • Determine radiance at each incoming face • Compute the outgoing radiance at each outgoing face • Compute the average radiance at the center of the voxel • Update the source function at the center of the voxel Outgoing Incoming

  23. Indirect component computation • Outgoing radiance is a linear combination of incoming radiances: • Similarly, the average radiance is: • And the source is updated :

  24. Indirect component computation Parallelization is done by carefully chosing the propagation directions Propagate all the directions in an octant simultaneously: “Wavefront propagation” Each scattering iteration consists of the propagation of eight wavefronts: one for each corner of the volume

  25. Indirect component computation Parallelization is done by carefully chosing the propagation directions image courtesy: https://parasol.tamu.edu/dsmft/research/sweeps/ Propagate all the directions in an octant simultaneously: “Wavefront propagation” Each scattering iteration consists of the propagation of eight wavefronts: one for each corner of the volume

  26. Indirect component computation Streaming is achieved using a nested wavefront approach: • Wavefront of blocks further decomposed into wavefront of voxels on the GPU. • Use global interfaces for storing outgoing radiances at block boundaries • Use shared memory on a GPU multiprocessor to store outgoing radiances for voxels not on block boundary

  27. Visualization • Volume ray marching • Use the integral form of the RTE: • IE will be substituted by the background color. • Anti-aliasing using jittering and tri-linear interpolation. • On-demand streaming is used, similar to the direct computation

  28. Results Our method (68 secs) Ground truth (several hours) Diffusion method (10 FPS)

  29. Results GPU LPM 996 propagation directions Our method 120 propagation directions

  30. Results Multiple scattering Single scattering

  31. Results

  32. Thank you

More Related