/cdxr

A hybrid rasterization-raytracing renderer based on DirectX 12 and DirectX Raytracing

Primary LanguageHLSLOtherNOASSERTION

CDXR is my real-time toy renderer. Based on the Falcor framework and the DirectX Raytracing API, CDXR implements a hybrid rasterization-raytracing configurable pipeline. For writing this renderer, I relied a lot on Chris Wyman's SIGGRAPH courses and the Ray Tracing Gems series.

A more detailed description is found in my blog.

Features

  • One-bounce diffuse global illumination.
  • Deferred rendering via G-Buffer.
  • Ray-traced ambient occlusion.
  • Denoising and antialiasing via temporal accumulation and camera jittering.
  • Thin lens camera and depth of field.
  • Tone mapping.
  • Lambertian diffuse reflection and microfacet reflection models.
  • Unidirectional path tracing.
  • Ashikhmin-Shirley BRDF.

Select images

Unidirectional path tracing, Ashikhmin-Shirley BRDF. Assets by NVIDIA.

Unidirectional path tracing, Ashikhmin-Shirley BRDF. Assets by NVIDIA.

Unidirectional path tracing, combined Lambertian and specular BRDFs, and visibility testing. Assets by NVIDIA.

Unidirectional path tracing, combined Lambertian and specular BRDFs, and visibility testing. Assets by NVIDIA.

Direct lighting on a microfacet reflection model. Assets by NVIDIA.

Direct lighting on a microfacet reflection model. Assets by NVIDIA.

Direct lighting on a pure Lambertian reflection model. Assets by NVIDIA.

1-bounce GI and hard shadows. Assets by NVIDIA.

Occlusion testing with shadow rays, with depth of field. Assets by NVIDIA.

Occlusion testing with shadow rays, without depth of field. Assets by NVIDIA.

Lambertian diffuse reflection, with depth of field. Assets by NVIDIA.

Lambertian diffuse reflection, without depth of field. Assets by NVIDIA.