Ray Tracing
Ray tracing is a collection of algorithms and techniques for simulating light transport by tracing rays through a scene. It is a widely used rendering approach, alongside rasterization. Historically, ray tracing was considered too computationally expensive for real-time applications and was therefore primarily used for offline rendering. However, recent advances in GPU performance and the introduction of hardware-accelerated ray tracing have made real-time applications increasingly practical.
Related: PBR, Randomness
Series of online books teaching the basics of path tracing
The course nicely fills the gap between a Ray Tracing in One Weekend style toy renderer and a more general and fully-fledged renderer that PBRT describes
Comprehensive reference on physically based rendering techniques
A blog post series delving into building a BVH from scratch
PBRT book chapter on how to build a BVH
An introduction to Monte Carlo ray tracing
Like other "gems" books, this series of books contains a collection of articles focused on ray tracing techniques for serious practitioners. It focuses on subjects commonly considered too advanced for introductory texts, yet rarely addressed by research papers.
The classic Kajiya rendering equation paper introduced the "rendering equation" and the path tracing algorithm
This is Turner Whitted's original Ray Tracing paper
An overview various variance reduction techniques for Monte Carlo rendering, covering bidirectional path tracing, Metropolis-Hastings algorithm, MIS, stratified Sampling, low-discrepancy sampling, blue noise, photon mapping, and finite element radiosity
Excellent overview paper on BVH
the Academy Award-winning Ph.D. thesis by Eric Veach. It starts from bidirectional light transport algorithms and introduces multiple importance sampling and Metropolis light transport
A relatively small, beginner-friendly path tracing tutorial using Vulkan's ray tracing API
A blog post on implementing a hybrid ray tracing rendering pipeline
Classic paper introducing a fast and simple filter for ray tracing denoising.
An explanation of direct lighting and next event estimation in ray tracers
Explores combining rasterization and ray tracing for shadow rendering
Introduced wavefront path tracing
This repository provides a comprehensive learning resource for Vulkan ray tracing, featuring a progressive step-by-step tutorial that transforms a rasterization application into a fully functional ray tracing implementation
Single-header zero-dependency BVH construction and traversal library
This book challenges you to build a Whitted-style ray tracer from scratch. Unlike many tutorials, it doesn't provide code and follows a unique test-first approach, describing only test specifications and algorithms.