Skip to content

Latest commit

 

History

History
44 lines (31 loc) · 3.61 KB

QuickStart.md

File metadata and controls

44 lines (31 loc) · 3.61 KB

Quick Start Guide

This document lists the necessary steps to get up and running with the RTXTF sample.

Build steps

1. Clone the project recursively: git clone --progress --recursive --branch main -v "https://github.com/NVIDIA-RTX/RTXTF"

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 Examples/STF Bindless Rendering/stf_bindless_rendering sample.

The stf_bindless_rendering sample

The stf_bindless_rendering sample demonstrates a simple ray traced application that traces primary rays and shadow rays from primary surfaces. RTXTF is applied prior to filtering for primary surface hits.

overview

1. Post Processing. Post processing or the filtering component of RTXTF has four options. Passthrough (No filtering), TAA (Temporal Anti Aliasing), DLAA (Deep Learning Anti Aliasing) and DLSS (Deep Learning Super Sampling). Each option will provide different filtering capabilities to compare with.

2. Enable Animations. Freezes the animation when deselected.

3. Sampler Type. Allows the user to choose between Hardware Sampling which bypasses RTXTF, regular RTXTF sampling and split screen mode to compare the two.

4. RTXTF settings.

  1. Freeze frame index keeps the same frame number to show a snapshot of RTXTF signal/noise.
  2. Use Load forces texture loads to occur and when disabled the sampler is used and samples discretely at texels.
  3. Filter Type can use Linear, Cubic or Gaussian filters.
    Texture 2D Linear Filter Magnification Texture 2D Cubic Filter Magnification Texture 2D Gaussian Filter Magnification
  4. Address modes include same as sampler, clamp and wrap which are used when texture loads are enabled.
  5. Magnification methods include default which uses only one sample per frame. Wave lane sharing techniques allow multiple samples in the form of x to enable a primitive form of interpolation prior to shading. More samples typically means more samples for DLSS to deal with and can introduce more noise. That is why we recommend using 2x2 Quad wave lane sharing to reduce the most noise and take advantage of primitive interpolation prior to shading.
    Techniques visualized below are respectively: default filtering after shading, 2x2 quad, 2x2 fine, 2x2 fine temporal, 3x3 fine and 4x4 fine methods.
    Default Mag Method | 2x2 Quad Mag Method | 2x2 Fine Mag Method 2x2 Fine Temporal Mag Method | 3x3 Fine ALU Mag Method | 4x4 Fine Mag Method
  6. Sigma is for the Gaussian filter.
  7. Minification methods include Aniso, ForceNegInf, ForcePosInf, ForceNan and ForceCustom.
  8. Custom Mip level is associated with ForceCustom in Minification methods.
  9. Reseed on sample takes a new RNG value per sample.
  10. Use White Noise is enabled instead of Spatio Temporal Blue Noise which is the default.

5. Shader settings. Pipeline types include DXR 1.0 and DXR 1.1 methods. DXR 1.1 uses a compute shader. Thread group size allows the user to set wave to be certain group sizes. Lane warp layout changes the swizzling of the shader. Lane debug viz shows the lane values on screen. Recreate shader pipelines allow for building shaders on the fly.