Interactive Ray Tracing

Published:

Interactive Ray Tracing

Team members: Yanling Hua, Ziyin Peng, Viviana Rinaldi
Tools: OpenGL · GLSL · C++
Course: EDAN35 Computer Graphics, Lund University

Project Overview

Ever wondered how realistic lighting, reflections, and shadows are achieved in modern 3D environments?
Our Interactive Ray Tracing project brings those ideas to life by transforming a traditional ray tracing engine into an interactive experience.

Inspired by Peter Shirley’s Ray Tracing in One Weekend series and enriched with OpenGL-based implementations, we created a interactive real-time ray tracing application where users can manipulate the scene and visualize the effects of light and material interactions dynamically.

This isn’t just a renderer — it’s a sandbox for learning how light behaves.


Key Features

Real-Time Ray Tracing Engine

  • Ray-sphere and ray-quad intersection detection
  • Lambertian, metal, and dielectric materials
  • Recursive ray tracing with adjustable depth
  • Basic Perlin noise textures and procedural generation
  • Rendering scenes pixel-by-pixel

Interactive GUI

Our custom user interface gives users full control over the rendering process:

  • Preview Mode: Move the camera with keyboard inputs in a low-sample fast mode
  • Default Mode: High-quality rendering with anti-aliasing
  • Sliders & Toggles for:
    • Ray depth
    • Sampling rate
    • Exposure level
    • Defocus blur settings
    • Motion blur switch

More details and visuals can be found in the project report.