-
Notifications
You must be signed in to change notification settings - Fork 48
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
HIGHLIGHTS: - NRD: added "GetMaxAccumulatedFrameNum" helper, emphasizing the importance of time-based accumulation, also added "DEFAULT_ACCUMULATION_TIME" constants for all denoisers - NRD: added "cameraAttachedReflectionMaterialID" to "CommonSettings" (currently used by REBLUR only), helping to deal with mirror reflections of objects attached to the camera. It's a suboptimal solution, future releases will address this problem better - REBLUR/SIGMA: "stabilizationStrength" replaced with "maxStabilizedFrameNum" for consistency with other accumulation related settings and "GetMaxAccumulatedFrameNum" helper. The progression "0, 1, 2, 3... 9" is more understandable than "1.00, 0.50, 0.33, 0.25... 0.10" BREAKING CHANGES: - settings related (please, read UPDATE.md) - "NRD_FrontEnd_UnpackNormalAndRoughness" returns "materialID" in the same range, it was passed to "NRD_FrontEnd_PackNormalAndRoughness" DETAILS: - NRD: added "GetMaxAccumulatedFrameNum" helper to the main header - NRD: added "cameraAttachedReflectionMaterialID" to "CommonSettings" (currently used by REBLUR only, WIP longer term) - NRD: "NRD_FrontEnd_UnpackNormalAndRoughness" returns "materialID" in the same range, it was passed to "NRD_FrontEnd_PackNormalAndRoughness" - NRD: improved code reuse between REBLUR and RELAX, reduced divergence - NRD: improved per frame rotators (better noise properties) - NRD: interface polishing (no functional changes) - RELAX: added clamping to user provided "max accumulated frame num" values - RELAX: reduced memory usage of DIFFUSE denoiser (had a dummy allocation) - RELAX: diff-spec lobe fraction replaced with one shared fraction (simplified settings) - RELAX: partial refactoring to match overall NRD style - REBLUR/RELAX: hot/cold branch sorting - REBLUR/RELAX: improved parallax computations, affecting many aspects of specular tracking - REBLUR/RELAX: improved curvature computations - REBLUR/RELAX: added forgotten initialization of "gStrandThickness" constant (oops!) - REBLUR: minor performance opts - REBLUR: fixed minor regressions related to migration to stochastic bilinear filter for RGBA1010102 oct-packed normals (since prev data repacking is gone) - REBLUR: stochastic bilinear gets replaced with native bilinear if normals are interpolate-able - REBLUR: slightly decreased hit distance sensitivity in case of 0 roughness - REBLUR: slightly reduced "lobeAngleFraction" default value to squeeze more normal details (using the old default is OK) - REBLUR: "lobeHalfAngle" uses code from "GetNormalWeightParam" (reduced code entropy) - REBLUR: adjusted virtual parallax based confidence to be a bit more aggressive - REBLUR: improved screen space sampling (now used in more shaders without IQ loss, improves perf, WIP) - REBLUR: "GetGeometryWeightParams" should not become more strict if history is long (the rest is handled by normal weights) - REBLUR: minimized deprecated "GetBilateralWeight" usage - REBLUR: relaxed maximum value of slope scaling for disocclusion threshold - REBLUR: improved antilag (which didn't do much last year), also made almost FPS independent, tuned to "not hurt" - REBLUR: finally fixed ancient and ugly issue leading to "bright lighting crawling", caused by unbiased (bright) fast history selectively accelerating the biased (fireflies suppressed) main history - REBLUR/SIGMA: "stabilization strength" settings replaced with "max stabilized frame num" - SIGMA: removed unnecessary checks in spatial filters - SIGMA: "closest viewZ" replaced with "longest MV" logic in the temporal stabilization pass - SIGMA: history copying decoupled into a separate pass - SIGMA: added disocclusion tracking to get rid of ghosting - SIGMA: fixed ugly white outlines (suboptimal weighting scheme between dense and sparse passes) - SIGMA: tuned defaults settings - SIGMA: introduced screen space sampling to better respect low-discrepancy based per frame rotators - updated docs - updated dependencies - refactoring
- Loading branch information
Showing
67 changed files
with
1,822 additions
and
1,401 deletions.
There are no files selected for viewing
Submodule MathLib
updated
from 1e43e5 to 368dd2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.