Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
- Loading branch information