Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dannyfritz/awesome-ray-tracing

Curated list of ray tracing resources
https://github.com/dannyfritz/awesome-ray-tracing

List: awesome-ray-tracing

awesome awesome-list ray-tracing ray-tracing-resources raytracing

Last synced: 1 day ago
JSON representation

Curated list of ray tracing resources

Awesome Lists containing this project

README

        

# Awesome Ray Tracing [![CC0 License](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/)

A curated list of ray tracing resources.
PR's welcome!

## Table of Contents

- [Glossary of Terms](GLOSSARY.md)
- [What is Ray Tracing?](#what-is-ray-tracing)
- [Iconic Publications](#iconic-publications)
- [Path Tracing](#path-tracing)
- [Photon Mapping](#photon-mapping)
- [Math](#math)
- [Ray Casting](#ray-casting)
- [BxDF](#bxdf)
- [Sampling Methods](#sampling-methods)
- [Denoising, Filtering, and Reconstruction](#denoising-filtering-and-reconstruction)
- [Realtime](#realtime)
- [Reference Scenes](#reference-scenes)
- [News](#news)
- [API's](#apis)
- [Vulkan Ray Tracing](#vulkan-ray-tracing)
- [Nvidia RTX](#nvidia-rtx)
- [Microsoft DirectX Raytracing (RTX)](#microsoft-directx-raytracing-dxr)
- [Nvidia OptiX](#nvidia-optix)

## Legend

| Icon | Meaning |
| ---- | ------- |
| ๐Ÿ“– | Reading |
| ๐Ÿ“บ | Video |
| ๐Ÿ’พ | Code / Asset |

---

## [Glossary of Terms](GLOSSARY.md)

## What is Ray Tracing?

- ๐Ÿ“บ [Ray Tracing Essentials - (2020) *Eric Haines*](https://www.youtube.com/playlist?list=PL5B692fm6--sgm8Uiava0IIvUojjFOCSR)
- ๐Ÿ“บ [Disney's Practical Guide to Path Tracing - (2016) *Disney*](https://youtu.be/frLwRLS_ZR0)
- ๐Ÿ“– [Whatโ€™s the Difference Between Ray Tracing and Rasterization? - (2018) *Brian Caulfield*](https://blogs.nvidia.com/blog/2018/03/19/whats-difference-between-ray-tracing-rasterization/)
- ๐Ÿ“– [Ray Tracing Resources Page - (2018) *Tomas Akenine-Mรถller, Eric Haines, Naty Hoffman, Angelo Pesce, Michaล‚ Iwanicki, and Sรฉbastien Hillaire*](http://www.realtimerendering.com/raytracing.html)
- ๐Ÿ“– [An Introduction to Ray Tracing - (1991) *Andrew Glassner*](http://www.realtimerendering.com/raytracing/An-Introduction-to-Ray-Tracing-The-Morgan-Kaufmann-Series-in-Computer-Graphics-.pdf)
- ๐Ÿ“– [Physically Based Rendering Book (PBR) - (2018) *Matt Pharr, Wenzel Jakob, Greg Humphreys, and Morgan Kaufmann*](http://www.pbr-book.org/)
- ๐Ÿ“– [Ray Tracing in One Weekend - (2016) *Peter Shirley*](http://in1weekend.blogspot.com/2016/01/ray-tracing-in-one-weekend.html)
- ๐Ÿ“– [Ray Tracing: The Next Week - (2016) *Peter Shirley*](http://in1weekend.blogspot.com/2016/01/ray-tracing-second-weekend.html)
- ๐Ÿ“– [Ray Tracing: The Rest of Your Life - (2016) *Peter Shirley*](http://in1weekend.blogspot.com/2016/03/ray-tracing-rest-of-your-life.html)
- ๐Ÿ“บ [An Explanation of the Rendering Equation - (2019) *Eric Arnebรคck*](https://www.youtube.com/watch?v=eo_MTI-d28s)
- ๐Ÿ“บ [Ray Marching for Dummies! - (2018) *Martijn Steinrucken*](https://www.youtube.com/watch?v=PGtv-dBi2wE)
- ๐Ÿ“บ [Rendering / Ray Tracing Course - (2017) *TU Wien*](https://www.youtube.com/playlist?list=PLujxSBD-JXgnGmsn7gEyN28P1DnRZG7qi)

## Iconic Publications

- ๐Ÿ“– [Some Techniques for Shading Machine Renderings of Solids - (1968) *Arthur Appel*](http://graphics.stanford.edu/courses/Appel.pdf)
- ๐Ÿ“– [An Improved Illumination Model for Shaded Display - (1979) * J.D. Foley and Turner Whitted*](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.156.1534)
- ๐Ÿ“– [The Rendering Equation - (1986) *James T. Kajiya*](http://www.dca.fee.unicamp.br/~leopini/DISCIPLINAS/IA725/ia725-12010/kajiya-SIG86-p143.pdf)
- ๐Ÿ“– [Robust Monte Carlo Methods for Light Transport Simulation (1998) - *Eric Veach*](https://graphics.stanford.edu/papers/veach_thesis/)
- ๐Ÿ“– [Global Illumination Compendium - (2003) *Philip Dutrรฉ*](https://people.cs.kuleuven.be/~philip.dutre/GI/TotalCompendium.pdf)

## Path Tracing

- ๐Ÿ“– [Path Tracing - (2017) *Fabio Pellacini and Steve Marschner*](http://pellacini.di.uniroma1.it/teaching/graphics17b/lectures/12_pathtracing.pdf)
- ๐Ÿ“– [Path Tracing in Production - (2018) *Luca Fascione, Johannes Hanika, Rob Piekรฉ, Ryusuke Villemin, Christophe Hery, Manuel Gamito, Luke Emrose, and Andrรฉ Mazzone*](https://jo.dreggn.org/path-tracing-in-production/2018/index.html)
- ๐Ÿ“– [Path Tracing Coherency - *Anders Lindqvist*](https://www.breakin.se/learn/pathtracing-coherency.html)
- ๐Ÿ“– [Path Traced Depth of Field and Bokeh - (2018) *Alan Wolfe*](https://blog.demofox.org/2018/07/04/pathtraced-depth-of-field-bokeh/)
- ๐Ÿ“– [Daily Path Tracer - (2018) *Aras Pranckeviฤius*](http://aras-p.info/blog/2018/03/28/Daily-Pathtracer-Part-0-Intro/)
- ๐Ÿ“– [Microfacet-based Normal Mapping for Robust Monte Carlo Path Tracing - (2017) *Vincent Schรผssler, Eric Heitz, Johannes Hanika, Carsten Dachsbacher*](https://jo.dreggn.org/home/2017_normalmap.pdf)

## Photon Mapping

- ๐Ÿ“– [Photon Mapping - *Zack Waters*](https://web.cs.wpi.edu/~emmanuel/courses/cs563/write_ups/zackw/photon_mapping/PhotonMapping.html)

## Math

- ๐Ÿ“– [PBRT Chapter 2 Geometry and Transformations - (2018) *Matt Pharr, Wenzel Jakob, Greg Humphreys, and Morgan Kaufmann*](http://www.pbr-book.org/3ed-2018/Geometry_and_Transformations.html)
- ๐Ÿ“– [PBRT Chapter 3 Shapes - (2018) *Matt Pharr, Wenzel Jakob, Greg Humphreys, and Morgan Kaufmann*](http://www.pbr-book.org/3ed-2018/Shapes.html)
- ๐Ÿ“– [Immersive Math - Linear Algebra - (2015) *J. Strรถm, K. ร…strรถm, and T. Akenine-Mรถller*](http://immersivemath.com/ila/index.html)
- ๐Ÿ“บ [Linear Algebra - *Khan Academy*](https://www.khanacademy.org/math/linear-algebra)

## Ray Casting

- ๐Ÿ“– [Ray-Triangle Intersection: Geometric Solution - *Scratchapixel*](https://www.scratchapixel.com/lessons/3d-basic-rendering/ray-tracing-rendering-a-triangle/ray-triangle-intersection-geometric-solution)
- ๐Ÿ“– [Realtime Rendering Object/Object Intersection Page - (2019) *Eric Haines*](http://www.realtimerendering.com/intersections.html)
- ๐Ÿ“– [ERIT: A Collection of Efficient and Reliable Intersection Tests - (1998) *Martin Held*](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.49.9172&rep=rep1&type=pdf)
- ๐Ÿ“– [Introduction to Acceleration Structures - *Scratchapixel*](https://www.scratchapixel.com/lessons/advanced-rendering/introduction-acceleration-structure/bounding-volume)
- ๐Ÿ“– [PBRT Chater 4 Primitives and Intersection Acceleration - (2018) *Matt Pharr, Wenzel Jakob, Greg Humphreys, and Morgan Kaufmann*](http://www.pbr-book.org/3ed-2018/Primitives_and_Intersection_Acceleration.html)
- ๐Ÿ“– [Dynamic BVH - (2019) *Erin Catto*](https://box2d.org/files/ErinCatto_DynamicBVH_Full.pdf)
- ๐Ÿ“บ [How to Make 3D Fractals](https://www.youtube.com/watch?v=svLzmFuSBhk)

## BxDF

- ๐Ÿ“– [PBRT Chapter 5.6 Surface Reflection - (2018) *Matt Pharr, Wenzel Jakob, Greg Humphreys, and Morgan Kaufmann*](http://www.pbr-book.org/3ed-2018/Color_and_Radiometry/Surface_Reflection.html)
- ๐Ÿ“– [PBRT Chapter 8 Reflection Models - (2018) *Matt Pharr, Wenzel Jakob, Greg Humphreys, and Morgan Kaufmann*](http://www.pbr-book.org/3ed-2018/Reflection_Models.html)
- ๐Ÿ“– [PBRT Chapter 9 Materials - (2018) *Matt Pharr, Wenzel Jakob, Greg Humphreys, and Morgan Kaufmann*](http://www.pbr-book.org/3ed-2018/Materials.html)
- ๐Ÿ“– [PBRT Chapter 11 Volume Scattering - (2018) *Matt Pharr, Wenzel Jakob, Greg Humphreys, and Morgan Kaufmann*](http://www.pbr-book.org/3ed-2018/Volume_Scattering.html)
- ๐Ÿ“บ [Geometric Optics Playlist - (2013) *Doc Schuster*](https://www.youtube.com/playlist?list=PLLUpvzaZLf3IB4GEhaCg7L3ioiLkHLk7Q)
- ๐Ÿ“– [Physically Based Sky, Atmosphere, and Cloud Rendering in Frostbite - (2016) *Sebastien Hillaire*](https://media.contentapi.ea.com/content/dam/eacom/frostbite/files/s2016-pbs-frostbite-sky-clouds-new.pdf)
- ๐Ÿ“– [Revisiting Physically Based Shading in ImageWorks - (2017) *Christopher Kulla & Alejandro Conty*](https://blog.selfshadow.com/publications/s2017-shading-course/imageworks/s2017_pbs_imageworks_slides.pdf)
- ๐Ÿ“– [A Multifaceted Explanation Part 1 - (2018) *Stephen Hill*](https://blog.selfshadow.com/2018/05/13/multi-faceted-part-1/)
- ๐Ÿ“– [A Multifaceted Explanation Part 2 - (2018) *Stephen Hill*](https://blog.selfshadow.com/2018/06/04/multi-faceted-part-2/)
- ๐Ÿ“– [A Multifaceted Explanation Part 3 - (2018) *Stephen Hill*](https://blog.selfshadow.com/2018/08/05/multi-faceted-part-3/)

## Sampling Methods

- ๐Ÿ“– [PBRT Chapter 7 - (2018) *Matt Pharr, Wenzel Jakob, Greg Humphreys, and Morgan Kaufmann*](http://www.pbr-book.org/3ed-2018/Sampling_and_Reconstruction.html)
- ๐Ÿ“– [Generating Random Points in a Sphere - (2018) *Karthik Karanth*](https://karthikkaranth.me/blog/generating-random-points-in-a-sphere/)
- ๐Ÿ“– [Robust Monte Carlo Methods Chapters 2, 9, & 11 - (1998) *Eric Veach*](https://graphics.stanford.edu/papers/veach_thesis/)
- ๐Ÿ“– [Flavors of Sampling in Ray Tracing - (2018) *Peter Shirley*](http://psgraphics.blogspot.com/2018/10/flavors-of-sampling-in-ray-tracing.html)
- ๐Ÿ“บ [Continuous Multiple Importance Sampling - SIGGRAPH 2020 - (2020) *Rex West, Iliyan Georgiev , Adrien Gruson , Toshiya Hachisuka*](https://youtu.be/dxFSwplfdpk)
- ๐Ÿ“– [Position-Free Monte Carlo Simulation for Arbitrary Layered BSDFs - (2018) *Yu Guo, Miloลก Haลกan, Shuang Zhao*](https://shuangz.com/projects/layered-sa18/)
- ๐Ÿ“– [Monte Carlo Integration - *Anders Lindqvist*](https://www.breakin.se/mc-intro/)
- ๐Ÿ“– [Monte Carlo Integration Explanation in 1D - (2018) *Alan Wolfe*](https://blog.demofox.org/2018/06/12/monte-carlo-integration-explanation-in-1d/)
- ๐Ÿ“– [Importance Sampling techniques for GGX with Smith Masking-Shadowing Part 1 - (2018) *Joe Schutte*](https://schuttejoe.github.io/post/ggximportancesamplingpart1/)
- ๐Ÿ“– [Importance Sampling techniques for GGX with Smith Masking-Shadowing Part 2 - (2018) *Joe Schutte*](https://schuttejoe.github.io/post/ggximportancesamplingpart2/)
- ๐Ÿ“– [Double Hierarchies for Directional Importance Sampling in Monte Carlo Rendering - (2018) *Norbert Bus and Tamy Boubekeur*](http://www.jcgt.org/published/0006/03/02/)
- ๐Ÿ“– [Importance Sampling of Many Lights with Adaptive Tree Splitting - (2018) *Alejandro Conty and Christopher Kulla*](http://aconty.com/pdf/many-lights-hpg2018.pdf)
- ๐Ÿ“– [Monte Carlo Methods for Volumetric Light Transport Simulation - (2018) *Jan Novรกk, Iliyan Georgiev, Johannes Hanika, and Wojciech Jarosz*](http://iliyan.com/publications/VolumeSTAR)

## Denoising, Filtering, and Reconstruction

- ๐Ÿ“บ [RTX Coffee Break: Ray Tracing and Denoising - (2018) *Edward Lu*](https://news.developer.nvidia.com/rtx-coffee-break-ray-tracing-and-denoising/)
- ๐Ÿ“บ [RTX Coffee Break: Ray Traced Reflections and Denoising - (2018) *Edward Lu*](https://news.developer.nvidia.com/rtx-coffee-break-ray-traced-reflections-and-denoising-952-minutes/)
- ๐Ÿ“– [Spatiotemporal Variance-Guided Filtering: Real-Time Reconstruction for Path-Traced Global Illumination - (2017) *Christoph Schied, Anton Kaplanyan, Chris Wyman, Anjul Patney, Chakravarty R. Alla Chaitanya, John Burgess, Shiqiu Liu, Carsten Dachsbacher, Aaron Lefohn, Marco Salvi*](http://cg.ivd.kit.edu/svgf.php)
- ๐Ÿ“– [Multidimensional Adaptive Sampling and Reconstruction for Ray Tracing - (2008) *Toshiya Hachisuka, Wojciech Jarosz, Richard Peter Weistroffer, Kevin Dale, Greg Humphreys, Matthias Zwicker, and Henrik Wann Jensen*](http://graphics.ucsd.edu/~henrik/papers/multidimensional_adaptive_sampling/)

## Realtime

- ๐Ÿ“– [Real-Time Rendering Chapter - (2018) *Tomas Akenine-Mรถller, Eric Haines, Naty Hoffman, Angelo Pesce, Michaล‚ Iwanicki, and Sรฉbastien Hillaire*](http://www.realtimerendering.com/Real-Time_Rendering_4th-Real-Time_Ray_Tracing.pdf)
- ๐Ÿ“บ [Real-Time Raytracing for Interactive Global Illumination Workflows in Frostbite / Shiny Pixels and Beyond: Real-Time Raytracing at SEED - (2018) *Sรฉbastien Hillaire, Johan Andersson, and Colin Barrรฉ-Brisebois*](https://youtu.be/rhlGBCSv02M)
- ๐Ÿ“– [Real-Time Ray Tracing of Correct* Soft Shadows - (2018) *Stephen Hill and Morgan McGuire*](http://advances.realtimerendering.com/s2018/s2018_real_time_correct_soft_shadows.pdf)
- ๐Ÿ“บ [Stochastic All the Things: Raytracing in Hybrid Real-Time Rendering - (2018) *Tomasz Stachowiak*](https://www.ea.com/seed/news/seed-dd18-presentation-slides-raytracing)
- ๐Ÿ“– [Adopting Lessons From Offline Ray-Tracing to Real-Time Ray-Tracing for Practical Pipelines - (2018) *Matt Pharr*](http://advances.realtimerendering.com/s2018/Pharr%20-%20Advances%20in%20RTR%20-%20Real-time%20Ray%20Tracing.pdf)
- ๐Ÿ“– [Game Ray Tracing: State-of-the-Art and Open Problems - (2018) *Colin Barrรฉ Brisebois*](https://www.ea.com/seed/news/hpg-2018-keynote)
- ๐Ÿ’พ [Sol-R, an Open-Source CUDA/OpenCL Speed Of Light Ray-tracer](https://github.com/favreau/Sol-R)

## Reference Scenes

- ๐Ÿ’พ [McGuire Computer Graphics Archive](http://casual-effects.com/data/index.html)
- ๐Ÿ’พ [Benedikt Bitterli](https://benedikt-bitterli.me/resources/)
- ๐Ÿ’พ [PBRT Scenes v3](https://www.pbrt.org/scenes-v3.html)
- ๐Ÿ’พ [ORCA: Open Research Content Archive](https://developer.nvidia.com/orca)
- ๐Ÿ’พ [Disney Data Sets](https://www.disneyanimation.com/data-sets/)

## News

- ๐Ÿ“– [Graphics Programming Weekly - *Jendrik Illner*](https://www.jendrikillner.com/post/)

## API's

- [Vulkan Ray Tracing](https://www.khronos.org/blog/ray-tracing-in-vulkan)
- [Nvidia RTX](https://developer.nvidia.com/rtx)
- [Microsoft DirectX Raytracing (DXR)](https://blogs.msdn.microsoft.com/directx/2018/03/19/announcing-microsoft-directx-raytracing/)
- [Nvidia OptiX](https://developer.nvidia.com/optix)
- [AMD Radeon-Rays](https://gpuopen.com/radeon-rays/)
- [Intel Embree](http://embree.github.io/)

### Vulkan Ray Tracing

- ๐Ÿ“– [Ray Tracing In Vulkan - (2020) *Khronos*](https://www.khronos.org/blog/ray-tracing-in-vulkan)
- ๐Ÿ“– [Vulkan Ray Tracing Tutorials - (2020) *Nvidia*](https://github.com/nvpro-samples/vk_raytracing_tutorial_KHR)

### Nvidia RTX

- ๐Ÿ“– [NVIDIA Vulkan Ray Tracing Tutorial - (2018) *NVidia*](https://developer.nvidia.com/rtx/raytracing/vkray)
- ๐Ÿ“– [Introduction to Real-Time Ray Tracing with Vulkan - (2018) *Nuno Subtil*](https://devblogs.nvidia.com/vulkan-raytracing/)
- ๐Ÿ“– [Vulkan Raytracing Tutorials - (2018) *iOrange*](https://iorange.github.io/p02/TeapotAndBunny.html)
- ๐Ÿ“บ [Video Series: Practical Real-Time Ray Tracing With RTX - (2018) *Nvidia*](https://devblogs.nvidia.com/practical-real-time-ray-tracing-rtx/)
- ๐Ÿ“– [Effectively Integrating RTX Ray Tracing into a Real-Time Rendering Engine - (2018) *Juha Sjoholm*](https://devblogs.nvidia.com/effectively-integrating-rtx-ray-tracing-real-time-rendering-engine/)

### Microsoft DirectX Raytracing (DXR)

- ๐Ÿ“บ๐Ÿ“– [Introducion to DirectX Raytracing - (2018) *Chris Wyman, Shawn Hargreaves, Peter Shirley, Colin Barrรฉ-Brisebois*](http://intro-to-dxr.cwyman.org/)
- ๐Ÿ“– [DX12 Ray Tracing Tutorials - (2018) *Martin-Karl Lefranรงois and Pascal Gautron*](https://news.developer.nvidia.com/dx12-raytracing-tutorials/)
- ๐Ÿ’พ [DXRPathTracer](https://github.com/TheRealMJP/DXRPathTracer)
- ๐Ÿ“บ [Real-Time Ray Tracing for Interactive Global Illumination Workflows in Frostbite - (2018) *Sebastien Hillaire, Charles de Rousiers, Diede Apers and Petter Edblom*](https://devblogs.nvidia.com/video-real-time-ray-tracing-workflows-frostbite/)

### Nvidia OptiX

- ๐Ÿ“– [Introduction to OptiX - (2017) *Nvidia*](http://on-demand.gputechconf.com/gtc/2017/presentation/s7455-martin-stich-optix.pdf)
- ๐Ÿ“– [OptiX QuickStart - *Nvidia*](https://docs.nvidia.com/gameworks/content/gameworkslibrary/optix/optix_quickstart.htm)
- ๐Ÿ“– [Ray Tracing The Next Week in OptiX - (2018) *Joรฃo Vรญtor Silva*](https://joaovbs96.github.io/posts/next-week/)
- ๐Ÿ“– [Ray Tracing The Rest of Your Life in OptiX - (2019) *Joรฃo Vรญtor Silva*](https://joaovbs96.github.io/posts/rest-life/)
- ๐Ÿ’พ [optix_advanced_samples - (2018) *Nvidia*](https://github.com/nvpro-samples/optix_advanced_samples)
- ๐Ÿ“บ [GPU Ray Tracing for Film and Design: High Performance Ray Tracing with OptiX - (2018) *Oliver Klehm*](http://on-demand.gputechconf.com/siggraph/2018/video/sig1812-2-oliver-klehm-high-performance-optix.html)