Skip to content

v3.2.3

Compare
Choose a tag to compare
@dzhdanNV dzhdanNV released this 27 May 14:56
· 75 commits to master since this release

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