Implementation of a path tracer as described in [1], also
know as Monte Carlo ray tracing.
This involves:
- Adding classes to create random samples in different
domains
- For surfaces (diffuse, phong-like etc) provide
importance sampling techniques to get next-level rays
(see [2] for a describtion of importance sampling)
- Add support for area light sources (e.g. triangles)
- Implement the new rendering algorithm
[1] KAJIYA, J. T. The Rendering Equation. Computer
Graphics vol. 20, no. 4 (1986), pp. 143150.
[2] KAHLER, A. Parallel Monte Carlo Ray Tracing Using
Photon Maps, Diplomarbeit, Technische Universität
München, Institut für Informatik, 1999