Uploaded September 2022 | Updated September 2026, 1 week ago
Keep exploring at brilliant.org/TheCherno Get started for free, and hurry—the first 200 people get 20% off an annual premium subscription. AMAZING place to learn all the math you'll need for this series!
Support on Patreon ► patreon.com/thecherno
Discord (#raytracing-series) ► discord.gg/thecherno
Source code ► github.com/TheCherno/RayTracing
🧭 FOLLOW ME
Instagram ► instagram.com/thecherno
Twitter ► twitter.com/thecherno
Twitch ► twitch.tv/thecherno
Learn C++ with my series ► youtube.com/watch?v=18c3MTX0PK0&list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb
📚 RESOURCES (in order of complexity)
🟢 Ray Tracing in One Weekend series ► raytracing.github.io
🟡 Scratch a Pixel ► scratchapixel.com
🔴 Physically Based Rendering: From Theory to Implementation ► amzn.to/3y2bGK7
💾 SOFTWARE you'll need installed to follow this series
Visual Studio 2022 ► visualstudio.microsoft.com
Git ► git-scm.com/downloads
Vulkan SDK ► vulkan.lunarg.com
CHAPTERS
0:00 - Restructuring our code to behave like the ray tracing pipeline
4:25 - PerPixel / RayGen function
6:24 - TraceRay function and payloads
7:50 - ClosestHit function
8:36 - Miss function
9:16 - Other shaders in the GPU Ray Tracing pipeline
11:07 - Implementing the functions
11:50 - Implementing PerPixel
13:42 - Changing our TraceRay function
17:00 - Implementing ClosestHit
20:07 - Shading in our PerPixel function
21:16 - Implementing our Miss function
22:34 - The result
23:15 - Testing our pipeline with a reflection ray
27:10 - Ignoring negative hit distances
Welcome to the exciting new Ray Tracing Series! Ray tracing is very common technique for generating photo-realistic digital imagery, which is exactly what we'll be doing in this series. Aside from learning all about ray tracing and the math to goes into it, as well as how to implement it, we'll also be focusing on performance and optimization in C++ to make our renderer as efficient as possible. We'll eventually switch to using the GPU instead of the CPU (using Vulkan) to run our ray tracing algorithms, as this will be much faster that using the CPU. This will also be a great introduction to leveraging the power of the GPU in the software you write. All of the code episode-by-episode will be released, and if you need help check out the raytracing-series channel on my Discord server. I'm really looking forward to this series and I hope you are too! ❤️
This video is sponsored by Brilliant.
#RayTracing
Keep exploring at brilliant.org/TheCherno Get started for free, and hurry—the first 200 people get 20% off an annual premium subscription. AMAZING place to learn all the math you'll need for this series!
Support on Patreon ► patreon.com/thecherno
Discord (#raytracing-series) ► discord.gg/thecherno
Source code ► github.com/TheCherno/RayTracing
🧭 FOLLOW ME
Instagram ► instagram.com/thecherno
Twitter ► twitter.com/thecherno
Twitch ► twitch.tv/thecherno
Learn C++ with my series ► youtube.com/watch?v=18c3MTX0PK0&list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb
📚 RESOURCES (in order of complexity)
🟢 Ray Tracing in One Weekend series ► raytracing.github.io
🟡 Scratch a Pixel ► scratchapixel.com
🔴 Physically Based Rendering: From Theory to Implementation ► amzn.to/3y2bGK7
💾 SOFTWARE you'll need installed to follow this series
Visual Studio 2022 ► visualstudio.microsoft.com
Git ► git-scm.com/downloads
Vulkan SDK ► vulkan.lunarg.com
CHAPTERS
0:00 - Restructuring our code to behave like the ray tracing pipeline
4:25 - PerPixel / RayGen function
6:24 - TraceRay function and payloads
7:50 - ClosestHit function
8:36 - Miss function
9:16 - Other shaders in the GPU Ray Tracing pipeline
11:07 - Implementing the functions
11:50 - Implementing PerPixel
13:42 - Changing our TraceRay function
17:00 - Implementing ClosestHit
20:07 - Shading in our PerPixel function
21:16 - Implementing our Miss function
22:34 - The result
23:15 - Testing our pipeline with a reflection ray
27:10 - Ignoring negative hit distances
Welcome to the exciting new Ray Tracing Series! Ray tracing is very common technique for generating photo-realistic digital imagery, which is exactly what we'll be doing in this series. Aside from learning all about ray tracing and the math to goes into it, as well as how to implement it, we'll also be focusing on performance and optimization in C++ to make our renderer as efficient as possible. We'll eventually switch to using the GPU instead of the CPU (using Vulkan) to run our ray tracing algorithms, as this will be much faster that using the CPU. This will also be a great introduction to leveraging the power of the GPU in the software you write. All of the code episode-by-episode will be released, and if you need help check out the raytracing-series channel on my Discord server. I'm really looking forward to this series and I hope you are too! ❤️
This video is sponsored by Brilliant.
#RayTracing




![Game Engine by 11-YEAR-OLD! // Code Review
Try Code Rabbit now ► https://coderabbit.ai
Patreon ► https://patreon.com/thecherno
Instagram ► https://instagram.com/thecherno
Twitter ► https://twitter.com/thecherno
Discord ► https://discord.gg/thecherno
Code ► [removed by author]
Send an email to chernoreview@gmail.com with your source code, a brief explanation, and what you need help with/want me to review and you could be in the next episode of my Code Review series! Also let me know if you would like to remain anonymous.
Hazel ► https://hazelengine.com
🕹️ Play our latest game FREE (made in Hazel!) ► https://studiocherno.itch.io/dichotomy
🌏 Need web hosting? ► https://hostinger.com/cherno
💰 Links to stuff I use:
⌨ Keyboard ► https://geni.us/T2J7
🐭 Mouse ► https://geni.us/BuY7
💻 Monitors ► https://geni.us/wZFSwSK
This video is sponsored by Code Rabbit. Game Engine by 11-YEAR-OLD! // Code Review](https://i.ytimg.com/vi/dBlQv5GEBDc/mqdefault.jpg)





