v3.2.3
NRD v3.2.3:
HIGHLIGHTS:
- RELAX / REBLUR: added probabilistic sampling support
- RELAX / REBLUR: improved performance by ~13% (REBLUR) and ~17% (RELAX)
- RELAX / REBLUR: specular tracking improvements
- RELAX / REBLUR: better ortho projection support
- RELAX / REBLUR: less blurry & leaky pre-pass
- NRD: exposed optional "prev world" to "world" matrix to simplify use of "virtual space" normals
- NRD: LibraryDesc exposes supported material bits and normal encoding
- NRD: exposed "convenient" function to convert "ResourceType" to string
- NRD: improved compatibility with POSIX-compliant systems
DETAILS:
- NRD: default disocclusion threshold reduced to 0.5%
- NRD: maximized code reuse
- NRD: optimized matrix usage
- NRD: clarified "denoising range" limits
- NRD: exposed optional world-prev to world transform for normals
- NRD: fixed script for NRD SDK generation
- NRD: improved compatibility with POSIX-compliant systems
- NRD: fixed and improved curvature calculations
- NRD: fixed and improved parallax calculations
- NRD: fixed bug in SMEM preloader not affecting current use cases
- NRD: added API function to convert "ResourceType" to string
- NRD: LibraryDesc exposes supported material bits and normal encoding
- NRD: GitHub automation support
- NRD: updated MathLib
- NRD: updated and improved docs
- RELAX: added hit distance reconstruction pass
- RELAX: more stability and less biasing in specular, especially on surfaces with low roughness
- RELAX: better specular reprojection for low-mid roughness
- RELAX: decreased surface motion based reprojection weight for specular for ortho case
- RELAX: minHitT3x3 and minHitT5x5 calculation bug fix
- RELAX: set specular variance boost to 0 by default
- RELAX: improved per-pass in case of contact reflections
- RELAX: clamping of specular based on virtual motion doe not depend on surface roughness anymore
- RELAX: clamping strength significantly decreased
- RELAX: reflection HitT check now affects fast history length
- RELAX: switched to single channel history length for all denoisers
- RELAX: removed diffuseHistoryRejectionNormalThreshold
- RELAX: moved to BicubicFilterNoCornersWithFallbackToBilinearFilterWithCustomWeights in temporal accumulation shader
- RELAX: bicubic is used everywhere
- RELAX: memory usage optimization
- RELAX: decreased influence of back-back normal weight in reprojection
- RELAX: improved curvature handling in specular
- RELAX: added separate diffuse and specular minLuminanceWeight
- RELAX: tiny bugfix in Atrous
- RELAX: various performance optimizations
- RELAX: max history length increased to 255
- RELAX: refactoring, bug fixes & code cleanup
- REBLUR: added hit distance reconstruction pass
- REBLUR: better code unification between "common" and "occlusion-only" denoisers
- REBLUR: better ortho projection support
- REBLUR: disocclusion threshold doesn't depend on NoV (led to rare problems on edges)
- REBLUR: removed internal sanitization (was OFF all the time)
- REBLUR: improved per-pass in case of contact reflections
- REBLUR: refactored CatRom functions
- REBLUR: improved advanced pre-pass
- REBLUR: virtual hitT accumulated similarly to radiance
- REBLUR: increased blur radius in HistoryFix pass
- REBLUR: 4x4 disocclusion test simplified to 12 taps
- REBLUR: improved disocclusion check (now works better in ortho mode)
- REBLUR: footprint quality affects history based on accumulated frames
- REBLUR: hit distance based specular confidence uses not accelerated hitT
- REBLUR: temporal stabilization improvements
- REBLUR: footprint stretching test now works in ortho mode
- REBLUR: removed error recalculation in spatial passes
- REBLUR: improved surface based disocclusion test for virtual motion
- REBLUR: tuned radius boost
- REBLUR: less aggressive TS after disocclusion
- REBLUR: simplified backface-normal test
- REBLUR: better "no spatial" support
- REBLUR: exposed diff / spec pre-pass blur radius
- REBLUR: more stable specular reprojection
- REBLUR: fixed insane pre-pass blur radius
- REBLUR: improved specular reprojection on high FPS
- REBLUR: improved hit distance based specular confidence calculations
- REBLUR: fixed "miscommunication" between some parameters
- REBLUR: simplified fade calculations for anisotropic kernel
- REBLUR: reworked HistoryFix - now uses 1 mip instead of 4
- REBLUR: getting rid of Nflat (almost)
- REBLUR: made anti-firefly roughness-independent
- REBLUR: tuned default hit distance antilag settings
- REBLUR: tuned interpolation of accumulation speeds
- REBLUR: auto disocclusion threshold correction
- REBLUR: tweaked virtual history amount in temporal stabilization
- REBLUR: fixed re-packing issue when input normals are more precise than internal ones
- REBLUR: removed clamping for virtual history
- REBLUR: removed color compression (real exposure is needed)
- REBLUR: polished debug visualization
- REBLUR: various performance optimizations
- REBLUR: refactoring, bug fixes & code cleanup
- CMAKE: fixed shader compilation if WinSDK is older than 22000
- CMAKE: exposed NRD_STATIC_CPP_RUNTIME for Linux