OpenGL Path Tracer

April 2022

GLSL Path Tracer GIF

Description: An interactive GPU path tracer written in GLSL. Uses physically-based techniques described in PBRT (Physically Based Rendering, 3rd Edition). The main render loop iterates through a maximum number of bounces per fragment, attenuating ray throughput at each interaction. Additionally, render passes are summed each iteration to produce an image that converges, otherwise it would only display a single iteration. Unfortunately, I am not able to share the code for this project, but I have attached some more renders below:

Procedural Bubble Texture

SDF

Worley Noise and SDF

Features:

  • Full Lighting Integrator (global illumination)
  • Diffuse, specular, and transmissive materials
  • Signed distance functions for rendering shapes
  • Environment lighting
  • Procedurally-generated textures (Worley, Perlin, FBM)
  • Albedo and normal mapping
  • Thin lens camera/depth of field
  • QT GUI elements to change focal distance and lens radius