Skip to content

Latest commit

 

History

History
41 lines (24 loc) · 3.05 KB

QuickStart.md

File metadata and controls

41 lines (24 loc) · 3.05 KB

Quick Start Guide

This document lists the necessary steps to get up and running with the RTXGI SDK pathtracer sample showcasing an example integration of the NRC and SHARC libraries in a simplified unidirectional Monte Carlo path tracer.

For documentation and programming/integration guides specific to each technique, see the individual NRC and SHaRC guides.

Build steps

Assuming the tools specified in the prerequisites section are available:

  1. Clone the project recursively to a preferred location for the local-repo-path field:

    git clone --progress --recursive --branch main -v "https://github.com/NVIDIAGameWorks/RTXGI.git" "local-repo-path"
    
  2. Configure and then generate the solution using CMake GUI (or the CLI) by setting the repository root as source and specifying a new build directory in the root.

  3. Build the solution and run the pathtracer sample. Optionally, use the debug command line argument -vk to run the NVRHI Vulkan rendering backend version.

The pathtracer sample

This showcases an elementary path tracer that relies on either NRC or SHaRC to terminate early into the respective radiance/irradiance cache for an improved signal.

overview

1. Global settings. New scenes can be loaded from here via a JSON file that specifies GLTF assets and user-defined properties for common constructs such as lights and camera. Additionally, four more settings that affect the sample (regardless of radiance caching and denoising) can be toggled here.

2. Pathtracer settings. This section addresses typical pathtracer settings such as the number of bounces (maximum of eight), samples per pixel (SPP, maximum of 12), a global dial for altering material roughness, and a list of debug views that ensure the scene data is correctly represented (normals, worldspace positions, etc.).

3. Denoiser selection. This is an optional setting required when the Animations toggle is enabled as accumulation would not be compatible with animated content. Presently, NRD is the only supported denoising tech in this sample.

4. NRC settings. In this section, NRC can be toggled, fine-tuned, as well as debugged visually via the Resolve Mode or by directly visualizing the cache data when disabling Enable Termination Heuristic and visualizing the state at vertex index 0. For further details see the in-depth NRC guide.

5. SHARC settings. These provide a way to toggle the tech, manually invoke a clearing of the cache, fine-tune factors that contribute to the hash-grid data, as well as visually inspect the direct contents of the cache via the Enable Debug option. For further details see the in-depth SHaRC guide.

6. Lighting. This section allows for modifying the initial light data specified in the JSON scene file.

7. Tone mapping. Post processing section that currently only accounts for tone mapping - useful for clamping radiance values.