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.
- Ray Tracing in One Weekend series
Series of online books teaching the basics of path tracing
- Dartmouth CS87 Rendering Algorithms
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
- Physically Based Rendering: From Theory to Implementation
Comprehensive reference on physically based rendering techniques
- How to build a BVH Series
A blog post series delving into building a BVH from scratch
- 7.3 Bounding Volume Hierarchies | Physically Based Rendering
PBRT book chapter on how to build a BVH
- Lecture 18: Monte Carlo Rendering (CMU 15-462/662)
An introduction to Monte Carlo ray tracing
- Ray Tracing Gems Series
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.
- An Improved Illumination Model for Shaded Display
This is Turner Whitted's original Ray Tracing paper
- The Graphics Codex: Ray Marching
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
- Lecture 19: Variance Reduction (CMU 15-462/662)
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
- Scratchapixel Volume Rendering
Scratchapixel's in-depth introduction to volumetric rendering using ray marching
- The rendering equation
The classic Kajiya rendering equation paper introduced the "rendering equation" and the path tracing algorithm
- A Survey on Bounding Volume Hierarchies for Ray Tracing
Excellent overview paper on BVH
- Flavors of Sampling in Ray Tracing
An overview of different sampling strategies used in ray tracing.
- Robust Monte Carlo Methods for Light Transport Simulation
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
- vk_mini_path_tracer
A relatively small, beginner-friendly path tracing tutorial using Vulkan's ray tracing API
- Adventures in Hybrid Rendering (2021)
A blog post on implementing a hybrid ray tracing rendering pipeline
- Edge-Avoiding À-Trous Wavelet Transform for fast Global Illumination Filtering (2010)
Classic paper introducing a fast and simple filter for ray tracing denoising.
- Using Blue Noise For Raytraced Soft Shadows
Article from the "blue noise guy" talking about how to apply blue noise to raytraced soft shadows
- What is direct lighting (next event estimation) in a ray tracer?
An explanation of direct lighting and next event estimation in ray tracers
- Experiments in Hybrid Raytraced Shadows
Explores combining rasterization and ray tracing for shadow rendering
- Megakernels Considered Harmful: Wavefront Path Tracing on GPUs (2013)
Introduced wavefront path tracing
- NVIDIA Vulkan Ray Tracing Tutorials
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
- GPU path tracing tutorial series (2015)
Blog post series on implementing path tracer on GPU
- Raytraced Shadows in Call of Duty: Modern Warfare (2020)
The story behind how (almost) pixel perfect shadows were introduced into Modern Warfare to make it even more realistic
- The RTX Shader Binding Table Three Ways (2019)
Explains the shader binding table in DX12, Vulkan, and OptiX
- Object Intersections - Real-Time Rendering
Tables of intersection algorithms for various geometric primitives
- TinyBVH
Single-header zero-dependency BVH construction and traversal library
- Tracing Ray Differentials (1999)
Useful paper that goes over ray differentials and selecting proper mip level when doing raytracing
- The Ray Tracer Challenge
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.