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.