**Introduction to DirectX RayTracing** **[ACM SIGGRAPH 2018 Courses](https://dl.acm.org/citation.cfm?id=3231814)** **[Chris Wyman](http://cwyman.org), [Shawn Hargreaves](http://www.shawnhargreaves.com/), [Peter Shirley](https://www.cs.utah.edu/~shirley/), [Colin Barré-Brisebois](https://colinbarrebrisebois.com/)** ![Left side: [Amazon Bistro](https://developer.nvidia.com/orca/amazon-lumberyard-bistro) scene rendered with our tutorial path tracing code](introDxrTeaser_smaller.png) (##) Course Video / Streaming SIGGRAPH recorded and live streamed our course on [YouTube](https://www.youtube.com/watch?v=Q1cuuepVNoY) and [Facebook Live](https://www.facebook.com/SIGGRAPHConferences/videos/10157812088667516/), where you can also watch replays. Note: Course content starts roughly 5 minutes into the video stream. (##) Course Schedule | Title | Slides | Speaker :----------------:|------------------------------------------------------|--------|:--------: 9:00-9:05 | Welcome and Introductions | [PDF](presentations/IntroDXR_Welcome.pdf) | Chris 9:05-9:25 | Overview of Ray Tracing | [PDF](presentations/IntroDXR_RayTracingOverview.pdf) | Pete 9:25-9:55 | Introduction to DirectX Raytracing Shaders | [PDF](presentations/IntroDXR_RaytracingShaders.pdf) | Chris 9:55-10:30 | Building an HLSL Path Tracer Step-by-step | [PDF](presentations/IntroDXR_ShaderTutorial.pdf) | Chris 10:30-10:40 | **Break** | | 10:40-11:40 | Introduction to the DirectX Raytracing API | [PDF](presentations/IntroDXR_RaytracingAPI.pdf) | Shawn 11:40-12:00 | Full Rays Ahead! From Raster to Real-Time Raytracing | [PDF](presentations/IntroDXR_Full_Rays_Ahead.pdf) | Colin 12:00-12:15 | Q & A Session | | *All* (##) Additional Resources for DirectX Raytracing Resources from this course: * Chris has [a code walkthrough](http://cwyman.org/code/dxrTutors/dxr_tutors.md.html) for his shader tutorials, and you can: - Download the [prebuilt binaries](http://cwyman.org/code/dxrTutors.Binary.Win10-RS4.zip) (please [read the readme](tutorsRS4Binary-README.txt) to avoid issues) - Download the [tutorial code](http://cwyman.org/code/dxrTutors.Code.zip) (please [read the readme](tutorsRS4Code-README.txt) to avoid issues) - Tutorial code released under a BSD license Other useful resources: * The DirectX Raytracing (DXR) [specification v0.09](spec/DXR_FunctionalSpec_v0.09.docx) * Microsoft's experimental [installation package](http://forums.directxtech.com/index.php?topic=5860.0) with everything needed to build DXR apps * Microsoft's [early DXR samples](https://github.com/Microsoft/DirectX-Graphics-Samples/tree/master/Samples/Desktop/D3D12Raytracing) * NVIDIA's [early DXR samples](https://github.com/NVIDIAGameWorks/DxrTutorials) * NVIDIA Research's [Falcor prototyping framework](https://developer.nvidia.com/falcor) * The [Open Research Content Archive](https://developer.nvidia.com/orca), where you can download assets to use (##) How to Get Started with DirectX Raytracing? So you attended the course, and want to try out the demos or do some coding yourself. Now you find yourself asking, "what do I need?" To try DirectX Raytracing, you need: * An installation of [Windows 10 RS4 (v.1803)](https://en.wikipedia.org/wiki/Windows_10_version_history) or higher. * DirectX Raytracing is _experimental_ on RS4, so you need to [enable Developer Mode](https://www.ghacks.net/2015/06/13/how-to-enable-developer-mode-in-windows-10-to-sideload-apps/). * On Windows 10 RS5, DXR should be integrated which will simplify use. * You will need GPU hardware and software drivers that support DXR. * NVIDIA supports DXR on [Volta]("https://en.wikipedia.org/wiki/Volta_(microarchitecture)") GPUs with drivers _396.x_ and above. * NVIDIA supports DXR on Turing GPUs with drivers in the 400 series. * All DirectX 12 class GPUs can run DXR via Microsoft's fallback layer * On Windows 10 RS4, this fallback uses a subtly different API, so not all tutorials support both hardware and fallback modes. * For development on RS4, you need Microsoft's [DXR installation package](http://forums.directxtech.com/index.php?topic=5860.0) * Many of the tutorials above come with this package. * On RS5, this may be integrated with the standard Windows SDK (##) Speaker Biographies [Chris Wyman](http://cwyman.org) is a Principal Research Scientist at [NVIDIA](http://www.nvidia.com) in Redmond, WA working on the real-time rendering research team. He has used both raster and ray tracing algorithms for real-time rendering since his graduate studies at the [University of Utah](http://www.utah.edu/). Prior to joining NIVIDIA, he was an Associate Professor of Computer Science at the [University of Iowa](https://uiowa.edu/) and spent time as a contractor at the [US Army Research Laboratory](https://www.arl.army.mil). [Shawn Hargreaves](http://www.shawnhargreaves.com/)'s career started in the game industry, where he worked on [Extreme-G](https://en.wikipedia.org/wiki/Extreme-G) for the Nintendo 64 and [MotoGP](https://en.wikipedia.org/wiki/MotoGP_(2000_video_game) for the original Xbox. Over a couple of decades, he has been responsible for multiple graphics APIs ([Allegro]("https://en.wikipedia.org/wiki/Allegro_(software)"), [XNA](https://en.wikipedia.org/wiki/Microsoft_XNA), and [Win2D](https://github.com/Microsoft/Win2D)) and tools such as level editors, asset compilers, in-house 3D modelers, and the PIX on Windows GPU debugger/profiler. He is now the development lead for Direct3D at [Microsoft](http://www.microsoft.com). [Peter Shirley](https://www.cs.utah.edu/~shirley/) is a Distinguished Research Scientist at [NVIDIA](http://www.nvidia.com), working on VR, perception, and rendering out of the Salt Lake City office. He has written numerous books, including the [Ray Tracing in One Weekend](https://www.amazon.com/Ray-Tracing-Weekend-Minibooks-Book-ebook/dp/B01B5AODD8/) series, [Realistic Ray Tracing](https://www.amazon.com/gp/product/1568814615/), and the textbook [Fundamentals of Computer Graphics](https://www.amazon.com/Fundamentals-Computer-Graphics-Steve-Marschner/dp/1482229390). Before joining NVIDIA, he held academic positions at the [University of Utah](http://www.utah.edu/), [Indiana University](https://www.indiana.edu/), [Cornell](https://www.cornell.edu/), and [Westminster College](https://www.westminstercollege.edu/). [Colin Barré-Brisebois](https://colinbarrebrisebois.com/) is a Senior Software Engineer at [SEED](https://www.ea.com/seed), a cross-disciplinary team working on cutting-edge future technologies and creative experiences at [Electronic Arts](https://www.ea.com/). Prior to SEED, he was a Technical Director on the [Batman: Arkham franchise](https://en.wikipedia.org/wiki/Batman:_Arkham) at [WB Games Montreal](https://en.wikipedia.org/wiki/WB_Games_Montr%C3%A9al), where he led the rendering team and graphics technology initiatives. Before WB, he was a rendering engineer on several games at EA, including [Battlefield 3](https://en.wikipedia.org/wiki/Battlefield_3), [Need for Speed](https://en.wikipedia.org/wiki/Need_for_Speed), [Army of TWO](https://en.wikipedia.org/wiki/Army_of_Two), [Medal of Honor](https://en.wikipedia.org/wiki/Medal_of_Honor_(video_game_series)), and others. He has also presented at conferences (GDC, SIGGRAPH, I3D) and published work on books (GPU Pro) and on [his blog](https://colinbarrebrisebois.com/). (##) Course Bibtex Entry ~~~~~~~~~~~~~~~~~~~ @inproceedings{Wyman:2018:IDR, author = {Chris Wyman and Shawn Hargreaves and Peter Shirley and Colin Barré-Brisebois}, title = {Introduction to DirectX Raytracing}, booktitle = {ACM SIGGRAPH 2018 Courses}, year = {2018}, month = {August}, location = {Vancouver, British Columbia}, } ~~~~~~~~~~~~~~~~~~~