<p>First of all, you can get caustics just by Path Tracing. Caustics isn't a difficult phenomenon in computer graphics. Almost any global illumination algorithm can render it. It's just a matter of the converging speed.</p>

<p>While (naive) Path Tracing can render caustics, it takes a long time to clean the rendered image due to how the algorithm works. Photon Mapping makes the converging speed faster by doing some tricks on how light paths are interpolated. Bi-Directional Path Tracing on the other hand tries to make some difficult-to-sample light paths easier.</p>

<p>Besides the two algorithms, Metropolis Light Transport can render caustics efficiently by finding the most significant light path in the scene and exploring other possibilities around it.</p>

<p>Here are some good lectures on:</p>

<ul>
<li><a href="https://www.youtube.com/watch?v=pjc1QAI6zS0&amp;list=PLujxSBD-JXgnGmsn7gEyN28P1DnRZG7qi" rel="nofollow noreferrer">Ray based rendering algorithms</a></li>
<li><a href="https://www.youtube.com/watch?v=cDi-uti2oLQ&amp;list=PLujxSBD-JXgnGmsn7gEyN28P1DnRZG7qi&amp;index=29" rel="nofollow noreferrer">Path Tracing</a></li>
<li><a href="https://www.youtube.com/watch?v=-1C2kL5pTbs&amp;list=PLujxSBD-JXgnGmsn7gEyN28P1DnRZG7qi&amp;index=34" rel="nofollow noreferrer">Photon Mapping</a></li>
</ul>

<p>There is the <a href="https://graphics.stanford.edu/courses/cs348b-03/papers/veach-chapter10.pdf" rel="nofollow noreferrer">original paper of BDPT</a>. It's not too difficult if you can implement explicit light sampling and multiple importance sampling by your self.</p>

<p>Also, I recommend the book Physically Based Rendering: From Theory to Implementation. It talks about all the algorithms above and more. It is basically a must have if you want to dive deep into computer graphics.</p>

CC BY-SA 3.0
2017-04-24T06:26:09.390Z
Note that you need the second edition of Physically Based Rendering: From Theory to Implementation, since the third does not contain or handle pure (like Jensen defined it) Photon Mapping.
Matthias
CC BY-SA 3.0
2017-04-20T08:49:32.683Z
2017-04-20T16:46:43.533Z
2017-04-20T16:46:43.533Z
Mary Chang
<p>What are the recommended ways to render caustics? I am aware bidirectional path tracing and photon mapping can do this. Could someone give a brief overview of photon mapping and a good resource of where to learn about implementation? </p>

CC BY-SA 3.0
2017-04-20T06:41:32.280Z
You might already know this, but caustics can be rendered with regular old path tracing as well. It just takes a lot of samples to look decent.
Alan Wolfe
CC BY-SA 3.0
2017-04-20T07:45:54.590Z
What are the benefits of using photon mapping as opposed to regular path tracing? Is it just render times or will I be getting a significant difference in terms of how good it looks?
Arjan Singh
CC BY-SA 3.0
2017-04-24T06:28:31.697Z
@ArjanSingh There is a little more to it. Using an infinite number of rays, both path tracing (unbiased) and photon mapping (consistent) will result in the same fully converged image. Photon mapping, however, is biased and will not result in the converged image on average for a finite (practical) number of rays (like path tracing) and can contain additional artefacts due to its density estimation techniques (besides the typical Monte Carlo noise).
Matthias
<pathtracing><photon-mapping>
Caustics: methods to render?
Arjan Singh
# Caustics: methods to render?

(Asked by: username_0 on 2017-04-20)

What are the recommended ways to render caustics? I am aware bidirectional path tracing and photon mapping can do this. Could someone give a brief overview of photon mapping and a good resource of where to learn about implementation?

**Tags:** pathtracing, photon-mapping

> **Comments:**
> **username_1**: You might already know this, but caustics can be rendered with regular old path tracing as well. It just takes a lot of samples to look decent.  
> **username_0**: What are the benefits of using photon mapping as opposed to regular path tracing? Is it just render times or will I be getting a significant difference in terms of how good it looks?  
> **username_2**: @username_0 There is a little more to it. Using an infinite number of rays, both path tracing (unbiased) and photon mapping (consistent) will result in the same fully converged image. Photon mapping, however, is biased and will not result in the converged image on average for a finite (practical) number of rays (like path tracing) and can contain additional artefacts due to its density estimation techniques (besides the typical Monte Carlo noise).  

---

## 1 answers

### Answer by username_3 on 2017-04-20. Score: 7 | Accepted answer

First of all, you can get caustics just by Path Tracing. Caustics isn't a difficult phenomenon in computer graphics. Almost any global illumination algorithm can render it. It's just a matter of the converging speed.

While (naive) Path Tracing can render caustics, it takes a long time to clean the rendered image due to how the algorithm works. Photon Mapping makes the converging speed faster by doing some tricks on how light paths are interpolated. Bi-Directional Path Tracing on the other hand tries to make some difficult-to-sample light paths easier.

Besides the two algorithms, Metropolis Light Transport can render caustics efficiently by finding the most significant light path in the scene and exploring other possibilities around it.

Here are some good lectures on:

* [Ray based rendering algorithms](https://www.youtube.com/watch?v=pjc1QAI6zS0&list=PLujxSBD-JXgnGmsn7gEyN28P1DnRZG7qi)
* [Path Tracing](https://www.youtube.com/watch?v=cDi-uti2oLQ&list=PLujxSBD-JXgnGmsn7gEyN28P1DnRZG7qi&index=29)
* [Photon Mapping](https://www.youtube.com/watch?v=-1C2kL5pTbs&list=PLujxSBD-JXgnGmsn7gEyN28P1DnRZG7qi&index=34)

There is the [original paper of BDPT](https://graphics.stanford.edu/courses/cs348b-03/papers/veach-chapter10.pdf). It's not too difficult if you can implement explicit light sampling and multiple importance sampling by your self.

Also, I recommend the book Physically Based Rendering: From Theory to Implementation. It talks about all the algorithms above and more. It is basically a must have if you want to dive deep into computer graphics.

> **Comments:**
> **username_2**: Note that you need the second edition of Physically Based Rendering: From Theory to Implementation, since the third does not contain or handle pure (like Jensen defined it) Photon Mapping.  

---

