Pathtracing#
Pathtracing allows you to tweak the behavior of the Path Tracer in both subtle and profound ways. The technical details go deep into Ray Tracing theory.
Ref |
Option |
RTX Option |
Default Value |
Description |
---|---|---|---|---|
1 |
RNG: Seed with Frame Index Checkbox |
rtx.rngSeedWithFrameIndex |
Checked |
Indicates that pseudo-random number generator should be seeded with the frame number of the application every frame, otherwise seed with 0. |
2 |
Resolver |
|||
3 |
Max Primary Interactions |
rtx.primaryRayMaxInteractions |
32 |
The maximum number of resolver interactions to use for primary (initial G-Buffer) rays. |
4 |
Max PSR Interactions |
rtx.psrRayMaxInteractions |
32 |
The maximum number of resolver interactions to use for PSR (primary surface replacement G-Buffer) rays. This affects how many Decals, Ray Portals and potentially particles (if unordered approximations are not enabled) may be interacted with along a ray at the cost of performance for higher amounts of interactions. |
5 |
Max Secondary Interactions |
rtx.secondaryRayMaxInteractions |
8 |
The maximum number of resolver interactions to use for primary (initial G-Buffer) rays. |
6 |
Separate Unordered Approximations Checkbox |
rtx.enableSeparateUnorderedApproximations |
Checked |
Use a separate loop during resolving for surfaces which can have lighting evaluated in an approximate unordered way on each path segment (such as particles). |
7 |
Direct Translucent Shadows Checkbox |
rtx.enableDirectTranslucentShadows |
Unchecked |
Include OBJECT_MASK_TRANSLUCENT into primary visibility rays. |
8 |
Indirect Translucent Shadows Checkbox |
rtx.enableIndirectTranslucentShadows |
Unchecked |
Include OBJECT_MASK_TRANSLUCENT into secondary visibility rays. |
9 |
Decal Material Blending Checkbox |
rtx.enableDecalMaterialBlending |
Checked |
A flag to enable or disable material blending on decals. |
10 |
Billboard Orientation Correction Checkbox |
rtx.enableBillboardOrientationCorrection |
Checked |
|
11 |
Dev: Use I-Prims on Primary Rays Checkbox |
Unchecked |
||
12 |
Resolve Transparency Threshold |
rtx.resolveTransparencyThreshold |
0.00392157 |
A threshold for which any opacity value below is considered totally transparent and may be safely skipped without as significant of a performance cost. |
13 |
Resolve Opaqueness Threshold |
rtx.resolveOpaquenessThreshold |
0.996078 |
A threshold for which any opacity value above is considered totally opaque. |
14 |
PSR |
|||
15 |
Reflection PSR Enabled Checkbox |
rtx.enablePSRR |
Checked |
A flag to enable or disable reflection PSR (Primary Surface Replacement). |
16 |
Transmission PSR Enabled |
rtx.enablePSTR |
Checked |
A flag to enable or disable transmission PSR (Primary Surface Replacement). |
17 |
Max Reflection PSR Bounces |
rtx.psrrMaxBounces |
10 |
The maximum number of Reflection PSR bounces to traverse. Must be 15 or less due to payload encoding. |
18 |
Max Transmission PSR Bounces |
rtx.pstrMaxBounces |
10 |
The maximum number of Transmission PSR bounces to traverse. Must be 15 or less due to payload encoding. |
19 |
Outgoing Transmission Approx Enabled Checkbox |
rtx.enablePSTROutgoingSplitApproximation |
Checked |
Enable transmission PSR on outgoing transmission events such as leaving translucent materials (rather than respecting no-split path PSR rule). |
20 |
Incident Transmission Approx Enabled Checkbox |
Checked |
||
21 |
Reflection PSR Normal Detail Threshold |
rtx.psrrNormalDetailThreshold |
0.000 |
A threshold value to indicate that the denoiser’s alternate disocclusion threshold should be used when normal map “detail” on a reflection PSR surface exceeds a desired amount. |
22 |
Transmission PSR Normal Detail Threshold |
rtx.pstrNormalDetailThreshold |
0.000 |
A threshold value to indicate that the denoiser’s alternate disocclusion threshold should be used when normal map “detail” on a transmission PSR surface exceeds a desired amount. |
23 |
Integrator |
|||
24 |
Enable Secondary Bounces Checkbox |
rtx.enableSecondaryBounces |
Checked |
Enables indirect lighting (lighting from diffuse/specular bounces to one or more other surfaces) on surfaces when set to true, otherwise disables it. |
25 |
Enable Russian Roulette Checkbox |
rtx.enableRussianRoulette |
Checked |
A flag to enable or disable Russian Roulette, a rendering technique to give paths a chance of terminating randomly with each bounce based on their importance. |
26 |
Enable Probability Dithering Filtering for Primary Bounch Checkbox |
rtx.enableFirstBounceLobeProbabilityDithering |
Checked |
A flag to enable or disable screen-space probability dithering on the first indirect lobe sampled. |
27 |
Unordered Resolve in Indirect Rays Checkbox |
rtx.enableUnorderedResolveInIndirectRays |
Checked |
A flag to enable or disable unordered resolve approximations in indirect rays. |
28 |
Emissive Particles in Indirect Rays Checkbox |
rtx.beamTextures |
Unchecked |
Textures on draw calls that are already particles or emissivity blended and have beam-like geometry. |
29 |
Minimum Path Bounces |
rtx.pathMinBounces |
1 |
The minimum number of indirect bounces the path must complete before Russian Roulette can be used. Must be < 16. |
30 |
Maximum Path Bounces |
rtx.pathMaxBounces |
4 |
The maximum number of indirect bounces the path will be allowed to complete. Must be < 16. |
31 |
Firefly Filtering Luminance Threshold |
rtx.fireflyFilteringLuminanceThreshold |
1000.000 |
Maximum luminance threshold for the firefly filtering to clamp to. |
32 |
Opaque Diffuse Lobe Probability Zero Threshold |
rtx.opaqueDiffuseLobeSamplingProbabilityZeroThreshold |
0.010 |
The threshold for which to zero opaque diffuse probability weight values. |
33 |
Min Opaque Diffuse Lobe Probability |
rtx.minOpaqueDiffuseLobeSamplingProbability |
0.250 |
The minimum allowed non-zero value for opaque diffuse probability weights. |
34 |
Opaque Specular Lobe Probability Zero Threshold |
rtx.opaqueSpecularLobeSamplingProbabilityZeroThreshold |
0.010 |
The threshold for which to zero opaque specular probability weight values. |
35 |
Min Opaque Specular Lobe Probability |
rtx.minOpaqueSpecularLobeSamplingProbability |
0.250 |
The minimum allowed non-zero value for opaque specular probability weights. |
36 |
Opaque Opacity Transmission Lobe Probability Zero Threshold |
rtx.opaqueOpacityTransmissionLobeSamplingProbabilityZeroThreshold |
0.010 |
The threshold for which to zero opaque opacity probability weight values. |
37 |
Min Opaque Opacity Transmission Lobe Probability |
rtx.minOpaqueOpacityTransmissionLobeSamplingProbability |
0.250 |
The minimum allowed non-zero value for opaque opacity probability weights. |
38 |
Translucent Specular Lobe Probability Zero Threshold |
rtx.translucentSpecularLobeSamplingProbabilityZeroThreshold |
0.010 |
The threshold for which to zero translucent specular probability weight values. |
39 |
Min Translucent Specular Lobe Probability |
rtx.minTranslucentSpecularLobeSamplingProbability |
0.300 |
The minimum allowed non-zero value for translucent specular probability weights. |
40 |
Translucent Transmission Lobe Probability Zero Threshold |
rtx.translucentTransmissionLobeSamplingProbabilityZeroThreshold |
0.010 |
The threshold for which to zero translucent transmission probability weight values. |
41 |
Min Translucent Transmission Lobe Probability |
rtx.minTranslucentTransmissionLobeSamplingProbability |
0.250 |
The minimum allowed non-zero value for translucent transmission probability weights. |
42 |
Indirect Ray Spread Angle Factor |
rtx.indirectRaySpreadAngleFactor |
0.050 |
A tuning factor applied to the spread angle calculated from the sampled lobe solid angle PDF. Should be 0-1. |
43 |
Russian Roulette |
|||
44 |
1st Bounce: Min Continue Probability |
rtx.russianRoulette1stBounceMinContinueProbability |
0.600 |
The minimum probability of continuing a path when Russian Roulette is being used on the first bounce. |
45 |
1st Bounce: Max Continue Probability |
rtx.russianRoulette1stBounceMaxContinueProbability |
1.000 |
The maximum probability of continuing a path when Russian Roulette is being used on the first bounce. |
46 |
2nd+ Bounce: Max Continue Probability |
rtx.russianRouletteMaxContinueProbability |
0.900 |
“The maximum probability of continuing a path when Russian Roulette is being used. |
47 |
Opacity Micromap |
|||
48 |
Enable Opacity Micromap Checkbox |
rtx.opacityMicromap.enable |
Unchecked |
Enables Opacity Micromaps for geometries with textures that have alpha cutouts. |
49 |
Show Advanced Settings Checkbox |
rtx.opacityMicromap.showAdvancedOptions |
Unchecked |
Shows advanced options. |
50 |
Enable Binding Checkbox |
rtx.opacityMicromap.enableBinding |
Checked |
Enables binding of built Opacity Micromaps to bottom level acceleration structures. |
51 |
Enable Baking Arrays Checkbox |
rtx.opacityMicromap.enableBakingArrays |
Checked |
Enables baking of opacity textures into Opacity Micromap arrays per triangle. |
52 |
Enable Building Checkbox |
rtx.opacityMicromap.enableBuilding |
Checked |
Enables building of Opacity Micromap arrays. |
53 |
Reset Every Frame Checkbox |
rtx.opacityMicromap.enableResetEveryFrame |
Unchecked |
Debug: resets Opacity Micromap runtime data every frame. |
54 |
Statistics |
View Scene Statistics |
||
55 |
Scene |
|||
56 |
Split Billboard Geometry Checkbox |
rtx.opacityMicromap.building.splitBillboardGeometry |
Checked |
Splits billboard geometry and corresponding Opacity Micromaps to quads for higher reuse. |
57 |
Max Allowed Billboards Per Instance To Split |
rtx.opacityMicromap.building.maxAllowedBillboardsPerInstanceToSplit |
16 |
Max billboards per instance to consider for splitting (large value results in increased CPU costs on BLAS builds). |
58 |
Cache |
|||
59 |
Budget: Max Vidmem Size % |
rtx.opacityMicromap.cache.maxVidmemSizePercentage |
0.015 |
Budget: Max Video Memory Size %. |
60 |
Budget: MIn Required Size [MB] |
rtx.opacityMicromap.cache.minBudgetSizeMB |
512 |
Budget: Min Video Memory [MB] required. |
61 |
Budget: Max Allowed Size [MB] |
rtx.opacityMicromap.cache.maxBudgetSizeMB |
1536 |
Budget: Max Allowed Size [MB] |
62 |
Budget: Min Vidmem Free to Not Allocate [MB] |
rtx.opacityMicromap.cache.minFreeVidmemMBToNotAllocate |
2560 |
Min Video Memory [MB] to keep free before allocating any for Opacity Micromaps. |
63 |
Budget: Min Vidmem Free To Not Allocate [MB] |
900 |
||
64 |
Request Filter |
|||
65 |
Animated Instances Checkbox |
rtx.opacityMicromap.buildRequests.enableAnimatedInstances |
Unchecked |
Enables Opacity Micromaps for animated instances. |
66 |
Particles Checkbox |
rtx.opacityMicromap.buildRequests.enableParticles |
Checked |
Enables Opacity Micromaps for particles. |
67 |
Custom Filters for Billboards Checkbox |
rtx.opacityMicromap.buildRequests.customFiltersForBillboards |
Checked |
Applies custom filters for staged Billboard requests. |
68 |
Max Staged Requests |
rtx.opacityMicromap.buildRequests.maxRequests |
5000 |
Max number of staged unique Opacity Micromap build requests. |
69 |
MIn Instance Frame Age |
rtx.opacityMicromap.buildRequests.minInstanceFrameAge |
1 |
Min instance’s frame age which allows building Opacity Micromaps for. |
70 |
Min Num Frames Requested |
rtx.opacityMicromap.buildRequests.minNumFramesRequested |
5 |
Min number of frames for a staged Opacity Micromap request before it is allowed to be built. |
71 |
Max Request Frame Age |
rtx.opacityMicromap.buildRequests.maxRequestFrameAge |
300 |
Max requested frame age to allow building Opacity Micromaps for. Any requests older than this are purged. |
72 |
Min Num Requests |
rtx.opacityMicromap.buildRequests.minNumRequests |
10 |
Min number of Opacity Micromap usage requests for a staged Opacity Micromap request before it is allowed to be built. |
73 |
Building |
|||
74 |
Subdivision Level |
rtx.opacityMicromap.building.subdivisionLevel |
8 |
Opacity Micromap subdivision level per triangle. |
75 |
Vertex, Texture Ops & Emissive Blending Checkbox |
rtx.opacityMicromap.building.enableVertexAndTextureOperations |
Checked |
Applies vertex and texture operations during baking. |
76 |
Allow 2 State Opacity Micromaps Checkbox |
rtx.opacityMicromap.building.allow2StateOpacityMicromaps |
Checked |
Allows generation of two state Opacity Micromaps. |
77 |
Force 2 State Opacity Micromaps Checkbox |
rtx.opacityMicromap.building.force2StateOpacityMicromaps |
Unchecked |
Forces generation of two state Opacity Micromaps. |
78 |
Decals: Min Resolve Transparency Threshold |
rtx.opacityMicromap.building.decalsMinResolveTransparencyThreshold |
0.0 |
Min resolve transparency threshold for decals. |
79 |
Max # of uTriangles to Bake [Million per Second] |
rtx.opacityMicromap.building.maxMicroTrianglesToBakeMillionPerSecond |
60 |
Max Micro Triangles to bake [Million/Second]. |
80 |
Max # of uTriangles to Build [Million per Second] |
rtx.opacityMicromap.building.maxMicroTrianglesToBuildMillionPerSecond |
300 |
Max Micro Triangles to build [Million/Second]. |
81 |
# Frames with High Workload Multiplier at Start |
rtx.opacityMicromap.building.numFramesAtStartToBuildWithHighWorkload |
0 |
Number of frames to bake and build Opacity Micromaps with high workload multipliers. |
82 |
High Workload Multiplier |
rtx.opacityMicromap.building.highWorkloadMultiplier |
20 |
High workload multiplier that is applied to the number of Opacity Micromaps to bake and build per frame. |
83 |
Conservative Estimation |
|||
84 |
Enable Checkbox |
rtx.opacityMicromap.building.conservativeEstimation.enable |
Checked |
Enables Conservative Estimation of micro triangle opacities. |
85 |
Max Texel Taps Per uTriangle |
rtx.opacityMicromap.building.conservativeEstimation.maxTexelTapsPerMicroTriangle |
64 |
Max number of texel taps per micro triangle when Conservative Estimation is enabled. |
Need to leave feedback about the RTX Remix Documentation? Click here