FfxSssrDispatchDescription

A structure encapsulating the parameters for dispatching the various passes of FidelityFX Stochastic Screen Space Reflections.

File location: sdk/include/FidelityFX/host/ffx_sssr.h

Detailed description

A structure encapsulating the parameters for dispatching the various passes of FidelityFX Stochastic Screen Space Reflections.

Data fields

Type

Description

FfxCommandList

commandList
The “FfxCommandList“ to record SSSR rendering commands into.

FfxResource

color
A “FfxResource“ containing the color buffer for the current frame.

FfxResource

depth
A “FfxResource“ containing the depth buffer for the current frame.

FfxResource

motionVectors
A “FfxResource“ containing the motion vectors buffer for the current frame.

FfxResource

normal
A “FfxResource“ containing the normal buffer for the current frame.

FfxResource

materialParameters
A “FfxResource“ containing the roughness buffer for the current frame.

FfxResource

environmentMap
A “FfxResource“ containing the environment map to fallback to when screenspace data is not sufficient.

FfxResource

brdfTexture
A “FfxResource“ containing the precomputed brdf LUT.

FfxResource

output
A “FfxResource“ to store the result of the SSSR algorithm into.

float

invViewProjection
An array containing the inverse of the view projection matrix in column major layout.

float

projection
An array containing the projection matrix in column major layout.

float

invProjection
An array containing the inverse of the projection matrix in column major layout.

float

view
An array containing the view matrix in column major layout.

float

invView
An array containing the inverse of the view matrix in column major layout.

float

prevViewProjection
An array containing the previous frame’s view projection matrix in column major layout.

FfxDimensions2D

renderSize
The resolution that was used for rendering the input resources.

FfxFloatCoords2D

motionVectorScale
The scale factor to apply to motion vectors.

float

iblFactor
A factor to control the intensity of the image based lighting. Set to 1 for an HDR probe.

float

normalUnPackMul
A multiply factor to transform the normal to the space expected by SSSR.

float

normalUnPackAdd
An offset to transform the normal to the space expected by SSSR.

uint32_t

roughnessChannel
The channel to read the roughness from the materialParameters texture.

bool

isRoughnessPerceptual
A boolean to describe the space used to store roughness in the materialParameters texture. If false, we assume roughness squared was stored in the Gbuffer.

float

temporalStabilityFactor
A factor to control the accmulation of history values. Higher values reduce noise, but are more likely to exhibit ghosting artefacts.

float

depthBufferThickness
A bias for accepting hits. Larger values can cause streaks, lower values can cause holes.

float

roughnessThreshold
Regions with a roughness value greater than this threshold won’t spawn rays.

float

varianceThreshold
Luminance differences between history results will trigger an additional ray if they are greater than this threshold value.

uint32_t

maxTraversalIntersections
Caps the maximum number of lookups that are performed from the depth buffer hierarchy. Most rays should terminate after approximately 20 lookups.

uint32_t

minTraversalOccupancy
Exit the core loop early if less than this number of threads are running.

uint32_t

mostDetailedMip
The most detailed MIP map level in the depth hierarchy. Perfect mirrors always use 0 as the most detailed level.

uint32_t

samplesPerQuad
The minimum number of rays per quad. Variance guided tracing can increase this up to a maximum of 4.

uint32_t

temporalVarianceGuidedTracingEnabled
A boolean controlling whether a ray should be spawned on pixels where a temporal variance is detected or not.