v3.0.0
v3.0.0:
HIGHLIGHTS:
- RELAX / REBLUR: improved compatibility with path tracing
- RELAX / REBLUR: improved IQ and performance
- RELAX / REBLUR: reworked settings, exposed new settings
- REBLUR: exposed performance mode
- NRD: improved compatibility with PS5, UE and LINUX
NRD:
- NRD: improved modularization of denoisers
- NRD: shared more code between denoisers
- NRD: introduced SPECULAR_REFLECTION_MV method
- NRD: introduced DELTA_OPTIMIZATION_MV method
- NRD: improved checkerboard resolve if pre-pass is on
- NRD: minimized values in NRD_ENCODING_ERRORS
- NRD: limiting PDF to sane values, improved packing
- NRD: shaders moved into per-denoiser sub-folders
- NRD: simplified normal encoding variants to UNORM and OCT
- NRD: added UPDATE.md simplifying understanding of changes in the API and settings
- NRD: introduced NRD_HEADER_ONLY for NRD.hlsli
- NRD: added missing prefixes for COMPILER macro in NRD.hlsli
- NRD: clarified "roughness" in NRD.hlsli
- NRD: added include guards into NRD.hlsli
- NRD: updated .gitignore
REBLUR:
- REBLUR: added performance mode with real-time switch
- REBLUR: added REBLUR_RESPONSIVE_ACCUMULATION_ROUGHNESS_THRESHOLD knob
- REBLUR: added footprint stretching test
- REBLUR: exposed "ReblurSettings::inputMix"
- REBLUR: exposed "ReblurSettings::minConvergedStateBaseRadiusScale"
- REBLUR: exposed "ReblurSettings::responsiveAccumulationRoughnessThreshold"
- REBLUR: fixed specular reprojection issues for low roughness
- REBLUR: fixed imprecision problems affecting weights in temporal accumulation
- REBLUR: fixed curvature in ortho mode
- REBLUR: improved performance
- REBLUR: improved compatibility with path tracing
- REBLUR: improved "materialID" support
- REBLUR: improved prev-prev normal test for specular reprojection
- REBLUR: improved curvature angle estimation
- REBLUR: improved error estimation
- REBLUR: improved precision of internal normals
- REBLUR: improved behavior in disocclusions
- REBLUR: improved error compensation if specular confidence is low
- REBLUR: reduced mip number to 4
- REBLUR: squeezed more normal and shadow details
- REBLUR: virtual parallax taken into account
- REBLUR: compressed hit distances used for hit distance confidence
- REBLUR: removed normal weight for virtual motion (prev-prev does the same)
- REBLUR: allowed small blur for low roughness if accumulation doesn't go well
- REBLUR: reprojection improvements
- REBLUR: tuned hitT weight & virtual history acceleration
- REBLUR: standardized settings
- REBLUR: simplified debug
- REBLUR: refactoring, standardization, simplification and unification
RELAX:
- RELAX: added footprint stretching test
- RELAX: shader modularization
- RELAX: fixed quarter resolution
- RELAX: fixed variance calculation in A-trous shaders
- RELAX: fixed potentially problematic function overloading for "Get*WorldPos"
- RELAX: improved performance
- RELAX: improved compatibility with path tracing
- RELAX: improved "materialID" support
- RELAX: improved prev-prev normal test for specular reprojection
- RELAX: improved "skip reprojection" logic
- RELAX: improved handling of normal imprecision in reprojection
- RELAX: removed spatial variance estimation pass
- RELAX: combined spatial variance estimation and Atrous_shmem
- RELAX: implemented specular reprojection for surfaces with negative surface curvature
- RELAX: refactoring
- RELAX: minor luminance weights fixes & updates
- RELAX: refactoring, standardization, simplification and unification
OTHER:
- REFERENCE: introduced dedicated input / output slots
- LINUX: updated SDK generation script
- NRD INTEGRATION: updated and fixed
- CMAKE: create shader output directory during deployment
- MATHLIB: updated
- README: updated