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.
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.
This is Turner Whitted's original Ray Tracing paper
A good introduction of ray marching that progresses from naive ray marching to the sphere tracing algorithm. It then covers some common SDF primitives and operations, normal computation, and performance optimizations
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
The classic Kajiya rendering equation paper introduced the "rendering equation" and the path tracing algorithm
Scratchapixel's in-depth introduction to volumetric rendering using ray marching
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
An overview of different sampling strategies used in ray tracing.
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
Article from the "blue noise guy" talking about how to apply blue noise to raytraced soft shadows
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.