Recent Posts

A review of color banding in computer graphics. What it is, why it exists, and how to handle it in the rendering process. Source code and a working sample included. Also, a few Bob Ross references.


A collection of the freely available resources (course notes, talk pdfs, slides, and videos) from Siggraph 2019 related to production and real-time rendering.


To get jump started with real-time ray tracing, I’ve made a barebones tutorial application and posted the code on GitHub. Unlike other DirectX Raytracing (DXR) tutorials that are available, this sample code does not use any abstractions on top of the DXR host API. By using the API directly, the focus is on highlighting some of the most important new features, functions, and data structures introduced by real-time GPU ray tracing.



Selected Publications

Adaptive Antialiasing using Conservative Rasterization and GPU Ray Tracing GPU Zen 2: Advanced Rendering Techniques, 2019.

Buy it on Amazon

Improving Temporal Antialiasing with Adaptive Ray Tracing Ray Tracing Gems, Chapter 22, 2019.

Chapter PDF Book PDF

Introduction to DirectX Raytracing Ray Tracing Gems, Chapter 3, 2019.

Chapter PDF Book PDF

Adaptive Temporal Antialiasing High-Performance Graphics, 2018.

Preprint PDF Slides Video

View-Warped Multi-View Soft Shadows for Local Area Lights Journal of Computer Graphics Techniques, 2018.

PDF Code Video JCGT Page


Selected Talks

In this talk, we will discuss how you can achieve multi-bounce ray traced diffuse global illumination in real time with the new RTX Global Illumination (RTXGI) SDK. RTXGI fits into the modern game engine by directly replacing existing indirect lighting approaches such as screen-space ray casting, precomputed lightmaps, and baked irradiance probes. We combine ray tracing, fast irradiance updates, and a moment-based depth scheme for occlusion calculations to create a scalable system without bake times or light leaks. RTXGI is supported on any DXR-enabled GPU and provides developers with an ideal starting point to bring the benefits of real-time ray tracing to their existing tools, knowledge, and capabilities.

Rendering soft shadows cast by dynamic objects in real-time with few visual artifacts is challenging to achieve. We introduce a new algorithm for local light sources that exhibits fewer artifacts than fast single-view approximations, and is faster than high quality multi-view solutions. Inspired by layered depth images, image warping, and point-based rendering, our algorithm traverses complex occluder geometry once and creates an optimized multi-view point cloud as a proxy. We then render many depth maps simultaneously on graphics hardware using GPU Compute. By significantly reducing the time spent producing depth maps, our solution presents a new alternative for applications that cannot yet afford the most accurate methods, but strive for higher quality shadows than possible with common approximations.

We discuss a pragmatic approach to real-time supersampling that extends common temporal antialiasing techniques with adaptive ray tracing. We have integrated our solution into Unreal Engine 4, and demonstrate how it removes the blurring and ghosting artifacts associated with standard temporal antialiasing, achieves quality approaching 16x supersampling, and operates within a 16ms frame budget.


Selected Projects

Below is an abreviated selection of projects I've worked on recently. I am fortunate to work with incredible technical and creative people, all of whom are critical in collectively achieving the final results shown in the images and videos here. Make no mistake, these projects required a huge team effort and often collaboration between several companies.

Troll: A Real-Time Saga

Game Developers Conference 2019

Project SOL

Game Developers Conference 2019 / CES 2019 / ACM SIGGRAPH 2018

Project SOL is a triology of real-time ray tracing demonstrations powered by NVIDIA RTX and running on a single Turing GPU. Real-time ray tracing, the holy grail of graphics, is now possible.

“The Speed of Light” Porsche 911 Speedster Concept


Partnering with Epic Games and Porsche, we combined RTX and DirectX Raytracing in Unreal Engine 4 and created this beautiful demo featuring real-time ray traced reflections, ambient occlusion, area light shadows, transparency, and global illumination all running in real time on two Turing GPUs.