University of Waterloo CS 489: Monte Carlo Methods for Advanced Applications - Implementation of a path tracer
University of Waterloo CS 489: Monte Carlo Methods for Advanced Applications - Implementation of a path tracer
GT
Path Tracing
• Recall a standard ray tracing approach in which rays can
branch into multiple directions.
• Kajiya (1986) proposed an extension, termed path tracing.
• It consists of only following the most probable path at each
intersection.
Path Tracing
• Recall a standard ray tracing approach in which rays can
branch into multiple directions.
• Kajiya (1986) proposed an extension, termed path tracing.
• It consists of only following the most probable path at each
intersection.
• Brute force path tracing: Send rays to the entire scene
• Importance sampling: Prioritize light sources
Diffuse
The ray is scattered in a random direction:
• Uniformly sampled from hemisphere, or
• Cosine distribution
Diffuse
The ray is scattered in a random direction:
• Uniformly sampled from hemisphere, or
• Cosine distribution
Metal
• The ray is reflected.
• Mildly randomized direction depending on fuzziness.
Diffuse
The ray is scattered in a random direction:
• Uniformly sampled from hemisphere, or
• Cosine distribution
Metal
• The ray is reflected.
• Mildly randomized direction depending on fuzziness.
Dielectric
The ray is refracted (or internally reflected.)
Camera
• Geometry: Wide angle lens, camera position, camera angle
Camera
• Geometry: Wide angle lens, camera position, camera angle
Camera
• Geometry: Wide angle lens, camera position, camera angle
Textures
3D Checker Texture
Textures
200 rays per pixel, Cosine 10 rays per pixel, Importance 200 rays per pixel, Importance
Distribution Sampling Sampling
Source Code
https://github.com/GauravTalreja/path-tracer/