Thursday, June 21, 2012

Random Thoughts (about Participating Media)

Modified this post 2012/6/21

I have posted images of particles. It might be interesting to use this one.
"Noise Reduction for Path Traced Imaging of Participating Media" (

Another thing I would like to mention is about "Accelerated Light Propagation Through Participating Media"(
I found a little mistake in updating pos. I think it has to be
pos = pos + dir x ( -log(u) / (sigma_a+sigma_s) ).
The authors terminate a ray if ta < ts, which I thought was interesting. The parameters ta and ts are given as
ta = -log(u1) / sigma_a
ts = -log(u2) / sigma_s.
However, a little calculation shows that this is exactly the same as performing Russian roulette with sigma_s / (sigma_a + sigma_s) so there is no need to compute log() every time.

Monday, June 11, 2012

Importance Sampling of Area Lights in Participating Media

Density Sampling
QSIR (with a subtle overhead) 2mins on my ultrabook

Redqueen uses a different scheme for this problem. QSIR is very easy to implement and works pretty well. However, if any of PDFs have a very pointed shape (for example, texture mapped light sources), MIS (the method proposed in is highly recommended.

Note that the scattering from the red light is hard to sample with density sampling.

Wednesday, May 30, 2012

Wigner Distributions in Rendering

Augmenting Light Field to model Wave Optics effects
Wigner Distributions and How They Relate to the Light Field
Validity of Wigner Distribution Function for Ray-based Imaging
Ray-Based Reflectance Model for Diffraction

Starting from "Augmenting Light Field to model Wave Optics effects" would be easiest to understand.

Monday, May 28, 2012

3D Models

It's hard to find high quality free 3d models. Here are my favorite ones:
McGuire Graphics Data (free)
Flying Architecture (free)
Evermotion (commercial, free samples are available)

Sunday, May 27, 2012

Trivial Connection

Finished implementing trivial connection from scratch. I did it before so this time was quick. Trivial connection is one of the most elegant algorithms.
A linear system is solved by OpenNL. It's reasonably fast, compact and very easy to use.

Saturday, May 26, 2012

Brute Force SSS

Being general and being simple do not coexist...

Monday, May 21, 2012

An Analytic Model for Full Spectral Sky-Dome Radiance

The codes are available at The model works extremely well. I love this. If you do not want to bake into a texture, SIR might be the best choice to reduce noise.