CG: Wavelength-dependent Dispersion Path Tracing Rendering

Introduction

Wavelength-dependent dispersion path tracing is a Monte Carlo rendering technique that simulates the dispersion of light in a medium with wavelength-dependent refractive index, such as glass or water. Dispersion causes light to bend differently for different wavelengths, resulting in a phenomenon known as chromatic aberration.

In wavelength-dependent dispersion path tracing, light rays are traced through a medium with a refractive index that varies with wavelength, and at each step, the ray's path is adjusted based on the refractive index of the medium. The ray is then either reflected or refracted at an interface, depending on the incident angle and the refractive index of the two media. This process is repeated for many rays, allowing for a statistically accurate simulation of the dispersion of light in the medium.

Based on the different sensitivity of 3 different receptors in human visual systems, we fit the sensitivity function into normal distributions and sample randomly distributed points. After, we found their various refraction indices based on the wavelength using the dispersion function described by 6 parameters. We trace rays carrying different refraction indices to get their separate colors and merge them together using Monte Carlo to get the dispersion effect.

Material Setup: Refractive Index Dispersion Function

To achieve Wavelength-dependent Dispersion Path Tracing, we need to model the medium that we want to simulate at the beginning, such as a glass lens or a water droplet. This involves specifying the refractive index of the medium as a function of wavelength, using data such as Sellmeier equations or experimental measurements.

the Sellmeier equation is an empirical formula that works well in describing dispersion. Sellmeier coefficients are often quoted instead of the refractive index in tables.

Here we can use these coefficients to simulate SiO2, which has a visible effect of dispersion when the light hits the object properly. From the graph, we shall notice that the refraction index diverges dramatically in the visible light wavelength domain.

Path Tracing

For each ray, we need to trace it through the medium, adjusting its path at each step based on the refractive index of the medium. At each interface, the ray may be reflected or refracted, depending on the incident angle and the refractive index of the two media.

As the ray travels through the medium, its path will be affected by the wavelength-dependent refractive index, causing it to bend differently for different colors. To account for this, we can use the dispersion curve we got above to adjust the angle of refraction at each step based on the wavelength of the ray.

Finally, we need to accumulate the results of the ray tracing to generate a final image. Here we use the MIS(Multi Importance Sampling) technique to evaluate the contribution from each ray and color channel.

Rendering Result

Previous
Previous

CG: Microfacet BTDF

Next
Next

CG: Volumetric Path Tracing Renderer