Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
src
tools/x64
readme.md

readme.md

D3D12 Raytracing Samples

This collection of samples act as an introduction to DirectX Raytracing (DXR). The samples are divided into tutorials and advanced samples. Each tutorial sample introduces a few new DXR concepts. Advanced samples demonstrate more complex techniques and applications of raytracing. We will be adding more samples in the coming future, so check back. In addition, you can find more DXR samples tutorials at Nvidia's DXR samples Github.

The samples are implemented using both DXR and D3D12 Raytracing Fallback Layer APIs. This is purely for demonstration purposes to show API differences. Real-world applications will implement only one or the other. The Fallback Layer uses DXR if a driver and OS supports it. Otherwise, it falls back to the compute pipeline to emulate raytracing.

Getting Started

Tutorial Samples

1. Hello World Sample

This sample demonstrates how to setup a raytracing pipeline and render a triangle in screen space.

D3D12 Raytracing Hello World GUI

2. Simple Lighting Sample

This sample demonstrates how to do ray generation for a dynamic perspective camera and calculate simple diffuse shading for a cube from a dynamic point light.

D3D12 Raytracing Hello World GUI

3. Procedural Geometry Sample

This sample demonstrates how to implement procedural geometry using intersection shaders and shows usage of more complex shader table layouts and multiple ray types.

D3D12 Raytracing Procedural Geometry GUI

Advanced Samples

MiniEngine Sample

This sample demonstrates integration of the Fallback Layer in the MiniEngine's Model Viewer and several sample uses of raytracing.

D3D12 Raytracing Mini Engine

Requirements

  • Visual Studio 2017 version 15.8.4 or higher.
  • Windows 10 October 2018 (17763) SDK.
  • Fallback Layer requires:
    • Windows 10 with the Fall Creators Update or higher.
    • Developer Mode enabled in the OS.
    • Dx12 GPU with a driver that has retail DXIL support.
    • DXR Fallback Compiler - download DirectXRaytracingBinariesV1.5.zip and copy all the contents to Samples/Desktop/D3D12Raytracing/tools/x64.
  • DirectX Raytracing requires:
    • Windows 10 with the October 2018 update.
    • Dx12 GPU with a compatible DirectX Raytracing driver.
      • Nvidia: driver version 415 or higher.
      • Other vendors - please consult the vendor you’re working with for HW and driver availability.

Known limitations

  • NV 397.31+ drivers do not properly support compute Fallback Layer on Nvidia Volta. Samples have artifacts and/or scenes miss altogether. Use the recommended DXR / driver based raytracing mode of samples on this configuration instead.
  • AMD: current/v1.5 revision of the Fallback Layer is not supported on AMD cards and will fail to run. Temporarily, you can use previous v1.2 source code snapshot with v1.1 SDK overlay binary snapshot which work on AMD:

Feedback and Questions

We welcome all feedback, questions and discussions about DXR and the Fallback Layer at DirectX Raytracing forums.

You can’t perform that action at this time.