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.

Related pages

  • Visit the FidelityFX SDK product page for download links and more information.

Looking for more documentation on GPUOpen?

AMD GPUOpen software blogs

Our handy software release blogs will help you make good use of our tools, SDKs, and effects, as well as sharing the latest features with new releases.

GPUOpen Manuals

Don’t miss our manual documentation! And if slide decks are what you’re after, you’ll find 100+ of our finest presentations here.

AMD GPUOpen Performance Guides

The home of great performance and optimization advice for AMD RDNAâ„¢ 2 GPUs, AMD Ryzenâ„¢ CPUs, and so much more.

Getting started: AMD GPUOpen software

New or fairly new to AMD’s tools, libraries, and effects? This is the best place to get started on GPUOpen!

AMD GPUOpen Getting Started Development and Performance

Looking for tips on getting started with developing and/or optimizing your game, whether on AMD hardware or generally? We’ve got you covered!

AMD GPUOpen Technical blogs

Browse our technical blogs, and find valuable advice on developing with AMD hardware, ray tracing, Vulkan®, DirectX®, Unreal Engine, and lots more.

Find out more about our software!

AMD GPUOpen Effects - AMD FidelityFX technologies

Create wonder. No black boxes. Meet the AMD FidelityFX SDK!

AMD GPUOpen Samples

Browse all our useful samples. Perfect for when you’re needing to get started, want to integrate one of our libraries, and much more.

AMD GPUOpen developer SDKs

Discover what our SDK technologies can offer you. Query hardware or software, manage memory, create rendering applications or machine learning, and much more!

AMD GPUOpen Developer Tools

Analyze, Optimize, Profile, Benchmark. We provide you with the developer tools you need to make sure your game is the best it can be!