Welcome
to
Iman Sadeghi 's Bi Directional Path
Tracing Project Homepage!

This is the second project for
CSE272
"Advanced Appearance Modeling" taught by Prof.
Henrik Wann Jensen in
Fall 2007.

1.Project Description

In this project I focused on an advanced rendering
technique called Bi
Directional Path Tracing with Multiple Importance Sampling this
technique somehow combines the classic Path Tracing algorithm with Light
Tracing algorithm and exploits the benefits of both techniques. First I start by some rendered images and then I will describe some
technical details.

2. Rendered
Images:

2.1 Bi Directional Path Tracing with Multiple Importance Sampling

Diffuse
Box - Caustics
Scene

Diffuse Spheres - Empty Box

2.2 Naive Bi
Directional Path Tracing with average weighting scheme

Diffuse
Box - Caustics
Scene

3. Technical
Details:

3.1. Modeling

For Modeling I used try and error method
to make the my Cornell Box look like the original Cornel Box. After
spending hours working with Maya I made my box and it looked good. Then
I realized that the data about the Cornell Box is available online!
Which means I could save hours by just plugging in bunch of numbers! Anyways I
think it was a good modeling practice and here you can see a comparison
between my try-and-error-made model with the original Cornell Box.

Original Cornell Box (Photograph) - My Cornell Box
(Model) - My Cornell Box (Rendered)

3.2. Rendering

Description of
Path Tracing, Light Tracing and
Bi-directional Path Tracing: Images are taken from [5]

For the Multiple Importance Sampling part
we have to assign the weights of the paths relative to the probobility
of having that path in our sampling scheme. At the end the estimated
flux per pixel would be:

The only criteria here is that all the weights for paths of a given
length sum up to one:

Any weighting that satisfies this condition would be an unbiased scheme
which will converge to the final solution by increasing the number of
samples.

For the Naive Bi Directional Path Tracing I used equal weights (1/n) for
all the Wij of the same length. For implementing the Importance Sampling
we should satisfy the following condition:

Bi-Directional Path Tracing with Multiple
Importance Sampling

Naive
Bi-Directional Path Tracing

Path Tracing

Light
Tracing

4. Comparisons

4.1. Between Naive
Bidirectional Path tracing and the one with Multiple Importance Sampling

**Left: **Naive Bidirectional Path Tracing with average weighting
scheme between all the paths with same length

**Center: **Multiple Important Sampling with no special
considerations

**Right:** Multiple Importance Sampling with considering special case
of very short connecting path between eye-path and light-path.

4.2. Between
Bidirectional Path
Tracing,
Path Tracing, Light Tracing and Photon Mapping

Here
I will compare the results of my Bidirectional Path Tracing (BDPT) with
Path Tracing (PT), Light Tracing (LT) and Photon Mapping (PM).

Advantages:

Photon Mapping+

Path Tracing +

Light Tracing +

Bi directional Path
Tracing
+

Disadvantages:

Photon Mapping+

Path Tracing +

Light Tracing +

Bi directional Path
Tracing +

5.Refrences

[1] Lafortune et al., Bidirectional Path
Tracing", Compugraphics 1993

[2] Veach and Guibas, Optimally combining sampling techniques for Monte
Carlo rendering, SIGGRAPH 1995

[3] Veach et al., Metropolis Light Transport, SIGGRAPH 1997

[4] Veach et al., Robust Monte Carlo Methods for Light Transport
Simulation, Chapter 9 and Chapter 10

[5] Lafortune, Mathematical Models for Light Transport Simulation