NVIDIAGameWorks / RayTracingDenoiser

NVIDIA Ray Tracing Denoiser
Other
513 stars 46 forks source link

History glitch #24

Closed LeonBrands closed 2 years ago

LeonBrands commented 3 years ago

Hi there! I'm trying to resolve some artifacts with our NRD implementation, but I'm struggling with this particular issue, and I'm hoping that someone has a clue of where this could be originated.

As seen below: image

It appears that some history frames are incorrectly mapped to the screen; they are recursively added to the illumination of the center of the screen. When I pass 0 to the CommonSettings::frameIndex, this glitch doesn't appear (but ofcourse the quality is much lower without previous frame textures).

The denoiser is in the RELAX_DIFFUSE_SPECULAR mode, and my implementation roughly follows the RTXDI sample's integration, but adjusted to a DirectX12 only environment. My matrices are left-handed (+y up, +z forward, +x right) and row-major, transposed into column-major.

dzhdanNV commented 3 years ago

It's very unlikely that the issue is in the history tracking. Please, reach me out (the email is in one header) and provide a sample app. If it's impossible, try "CommonSettings::splitScreen = 0.5" (left part of the screen will be the input). If the issue is visible in the left part of the screen in this mode - the problem is on your side, if not - the problem is in the denoiser (but still maybe input related).

LeonBrands commented 2 years ago

This turned out to be a problem with matrix handedness that was solved in the latest version of NRD