Download presentation
Presentation is loading. Please wait.
1
William Moss Advanced Image Synthesis, Fall 2008
2
September 25, 2008 2 Quickly! Visual simulation of smoke, Fedkiw et al., 2001 Metropolis Light Transport for Participating Media, Pauly et al, 2000 Efficient simulation of light transport in scenes with participating media using photon maps, Jensen and Christensen, 1998
3
Background on participating media Participating media as diffusion Lattice-Boltzmann methods Background Solving the diffusion equation Results 3 September 25, 2008
4
Interactions take place at all points in the medium, not just the boundaries Solve the volume radiative transfer equation: where f is the phase, σ a is the absorption coefficient, σ s is the scattering coefficient, σ t = σ a + σ s and L e is the emissive field September 25, 2008 4
5
Radiance = 5 September 25, 2008 Emission− Out-scattering− Absorption+ In-scattering Diffuse Intensity (I d ) Reduced Incident Intensity (I ri )
6
Ray x u = x 0 - us 6 September 25, 2008
7
Where I is the incident intensity, σ t = σ a + σ s and ρ is the density of the medium Trace a ray through the medium, integrating: 7 September 25, 2008
8
As the medium becomes thick Number of scattering events increases Directional dependence decreases Light distribution tends towards uniformity Approximate the diffuse intensity First two Taylor expansion terms in the directional component Results in a diffusion equation for average I d See Stam, ‘95 for full derivation September 25, 2008 8
9
First introduced in as the Lattice-Gas Automaton (1987) Lattice-Boltzmann model (1988) A system specified by interactions with neighbors Simple local interaction functions can model complex macroscopic phenomena Dates back to 1940s with cellular automata Game of life September 25, 2008 9
10
Heart of the method is the lattice Some have used hexagonal, they choose a grid Each point connected to the surrounding points Stores “directional density,” density flowing in that direction For a 3D grid, 18 directional densities per node September 25, 2008 10
11
September 25, 2008 11
12
Flow is represented by a matrix, Θ Θ ij – fraction of flow in direction j that will be diverted to direction i Updates performed synchronously ΘI = O I is the vector of current densities O is the vector of densities flowing out of that site September 25, 2008 12 j i
13
An alterative to FEM for solving coupled PDEs Comparable speed, stability, accuracy and storage Widely used for solving fluid flow in physics Multiple methods for simulating the incompressible, time-dependant Navier-Stokes Used in graphics for modeling gases Also Navier-Stokes September 25, 2008 13
14
Advantages Easy to implement Easy to parallelize Easy to handle complex boundary conditions Disadvantages Specified by microscopic particle density interactions Difficult to deduce rules given a macroscopic system September 25, 2008 14
15
Choose Θ such that in the limit, we get the diffusion equations Start simple, isotropic scattering σ a, is absorption at each lattice point September 25, 2008 15
16
For axial rows (i = 1…6): For non-axial rows (i = 7…18): September 25, 2008 16
17
Show this simulates a diffusion process Put light into the system, let it “settle” and render Start with: Where f i (r, t) is the density at site r at time t in direction c i, λ Is the lattice spacing, τ is the time step and Θ i is the i th row of Θ The c i directions are all 18 previous flow directions September 25, 2008 17
18
Let λ and τ go to 0 (see paper for full, 1 page, proof): Result is a diffusion equation (phew): September 25, 2008 18
19
Modify Θ Remember Θ ij is the fraction of flow in direction c j that will be diverted to direction c i Weight values unevenly For forward-scattering, weight values where ĉ j ·ĉ i < 0 more heavily For back-scattering, do the reverse September 25, 2008 19
20
Scale σ s in Θ ij by Where p i,j is a discrete version of Henyey- Greenstein phase function Where n i = c i / |c i | and g defines the scattering g > 0 provides forward scattering, g < 0 back scattering September 25, 2008 20
21
Add light at the boundaries of the lattice Choose the lattice direction with the largest dot product with the light direction Fix the inflow in that direction to the dot product Reduce the remaining incident light by that amount Repeat for remain directions Apply the inflow to boundary nodes Only handles directional light Fine for clouds September 25, 2008 21
22
Inject the light at the boundaries For each node Distribute the incoming density according to the collision rules (i.e. ΘI = O) Flow the distributed density to the neighboring nodes Repeat September 25, 2008 22
23
September 25, 2008 23
24
Radiance = 24 September 25, 2008 Emission− Out-scattering− Absorption+ In-scattering Diffuse Intensity (I ri ) Reduced Incident Intensity (I d )
25
Have the outward flowing density at every point This represents the number of photons Sum all the directions to represent the illuminate Could use viewer location, if desired Shoot rays into the volume Attenuate the value due to the reduced indecent intensity Increase the value due to the illuminate at intersected lattice cells September 25, 2008 25
26
Isotropic Scattering September 25, 2008 26
27
September 25, 2008 27 Forward Scattering
28
September 25, 2008 28
29
Robert Geist, Karl Rasche, James Westall and Robert Schalkoff, Lattice-Boltzmann Lighting, Proc. Eurographics Symposium on Rendering, June, 2004 Jos Stam, Multiple scattering as a diffusion process, Eurographics Rendering Workshop, 1995 Eva Cerezo, Frederic Pérez, Xavier Pueyo, Francisco J. Seron and François X. Sillion, A survey on participating media rendering techniques, The Visual Computer, June 2005 September 25, 2008 29
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.