NVIDIAGameWorks / RayTracingDenoiser

NVIDIA Ray Tracing Denoiser
Other
504 stars 46 forks source link

Clarify how IN_BASECOLOR_METALNESS is used #71

Closed ch45er closed 8 months ago

ch45er commented 9 months ago

There is IN_BASECOLOR_METALNESS input, which is said in the c++ comments to be used if CommonSettings::isBaseColorMetalnessAvailable = true, however, there is no detail on:

It would be nice if the readme mentioned IN_BASECOLOR_METALNESS somewhere with some details on it.

By the way a nitpick: in [NRD] The number of accumulated frames section of the readme you've probably meant to say "bear in mind".

dzhdanNV commented 9 months ago

Hi! Thanks. I fixed this in my local version. In the next update (hope this month):

dzhdanNV commented 9 months ago

By the way a nitpick: in [NRD] The number of accumulated frames section of the readme you've probably meant to say "bear in mind"

In this section I mean to say what I wrote:

[NRD] The number of accumulated frames in the fast history needs to be carefully tuned to avoid introducing significant bias and dirt. Initial integration should be done by setting `maxFastAccumulatedFrameNum` to `maxAccumulatedFrameNum`. Bare in mind the following recommendation:
maxAccumulatedFrameNum > maxFastAccumulatedFrameNum > historyFixFrameNum

Please, elaborate more on how you think it can be improved?

[EDIT] The typo "bare" => "bear" is fixed.

ch45er commented 9 months ago

clarified IN_BASECOLOR_METALNESS usage

Thanks, exactly what I was lookig for. So I should look at areas with specular-like motion after REBLUR to see the effect. Any reqirements on the base color (linear/gamma) or it doesn't care?

The typo "bare" => "bear" is fixed.

Yep, just that; the sentence itself is perfectly fine in technical sense.

But come to think of it, the readme never gives details on what "fast history" exaclty is. It mentions fast history in context of RELAX specifically, to signify its reduced lag, but that's it. May be that's common knowledge I am lacking, but what exactly makes fast history "fast"?

[EDIT[ formatting.

dzhdanNV commented 9 months ago

So I should look at areas with specular-like motion after REBLUR to see the effect

Yes, if TAA/DLSS/FSR are active.

Any requirements on the base color (linear/gamma) or it doesn't care?

Linear. But since SRV is coming from your side and it might auto perform "sRGB to linear" conversion - this is fine too. Actually, this is a good practice.

Fast history

Thanks. I adjusted the README a bit:

Simplified intro:

- *REBLUR* - recurrent blur based denoiser
- *RELAX* - A-trous based denoiser
- *SIGMA* - shadow-only denoiser

Added more explicit performance section:

Performance on RTX 4080 @ 1440p (native resolution, default denoiser settings):
- `REBLUR_DIFFUSE_SPECULAR` - 2.45 ms
- `RELAX_DIFFUSE_SPECULAR` - 2.90 ms
- `SIGMA_DIFFUSE_SPECULAR` - 0.30 ms

Clarified fast history:

[NRD] Fast history is the input signal, accumulated for a few frames. Fast history helps to minimize
lags in the main history, which is accumulated for more frames. The number of accumulated frames
in the fast history needs to be carefully tuned to avoid introducing significant bias and dirt. Initial
integration should be done with default settings.

Bear in mind the following recommendation:
maxAccumulatedFrameNum > maxFastAccumulatedFrameNum > historyFixFrameNum
ch45er commented 9 months ago

Great, thank you for these explanations, they answer my questions.

ch45er commented 9 months ago

On topic of documentation: comments for CommonSettings::enableValidation refer to InstanceCreationDesc::allowValidation which is no longer there: https://github.com/NVIDIAGameWorks/RayTracingDenoiser/blob/067755e96c70d4122342c61a37124111715c4e57/Include/NRDSettings.h#L150-L151 https://github.com/NVIDIAGameWorks/RayTracingDenoiser/blob/067755e96c70d4122342c61a37124111715c4e57/Include/NRDDescs.h#L441-L446

dzhdanNV commented 9 months ago

Thanks. I removed:

, requires "InstanceCreationDesc::allowValidation = true"

It's a leftover...

dzhdanNV commented 8 months ago

All discussed changes are included in v4.4.0.