-
Notifications
You must be signed in to change notification settings - Fork 46
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
HIGHLIGHTS: - NRD: anisotropic curvature estimation - REBLUR/RELAX: improved specular reprojection on curved surfaces - REBLUR: added fast history - REBLUR: introduced denoisers working in spherical harmonic (SH) space - REBLUR: reduced memory usage - REBLUR: temporal stabilization pass can be turned off eliminating associated overhead - REBLUR: specular tracking improvements - REBLUR: better history reconstruction in disoccluded regions - RELAX: improved performance - RELAX: improved anti-firefly filtering - RELAX: improved history confidence usage DETAILS: - NRD: anisotropic curvature estimation - NRD: exposed helper "GetMethodString" - NRD: gDebug is now available in Common.hlsli - NRD: updated README and UPDATE - REBLUR: added SH denoisers - REBLUR: switched to YCoCg - REBLUR: added fast history - REBLUR: rewritten HistoryFix (no mips anymore) - REBLUR: reduced memory usage - REBLUR: improved error compensation and reduced bias - REBLUR: fix for checkerboard resolve in advanced prepass mode - REBLUR: removed virtual history amount correction which is not needed anymore - REBLUR: reduced bias in pre-pass - REBLUR: fixed laggy specular reprojection on bumpy surfaces - REBLUR: specular confidence doesn't affect hit distance weight - REBLUR: specular prepass setting should not affect diffuse only denoiser (and vice versa) - REBLUR: improved reprojection on curved surfaces - REBLUR: simplified temporal stabilization params - REBLUR: fixed wrong output in DIFFUSE_DIRECTIONAL_OCCLUSION - REBLUR: simplified roughness weight in temporal accumulation pass - REBLUR: removed gFramerateScale based acceleration - REBLUR: tuned "GetSpecAccumSpeed" (consistent parallax usage) - REBLUR: tuned prepass parameters - REBLUR: fixed & optimized hitT for specular tracking - REBLUR: fixed (corrected) curvature if its sign is oscillating - REBLUR: fixed (returned) virtual motion based normal weight in temporal accumulation - REBLUR: added prev-prev test for roughness - REBLUR: improved firefly suppression - REBLUR: removed clamping to noisy input for specular - REBLUR: dropped unnecessary output for sky pixels - REBLUR: tweaked surface based motion accumulation - REBLUR: hitT check for virtual motion in temporal accumulation replaced with parallax check - REBLUR: improved prev-prev test - REBLUR: prev-prev test checks surface similarity - REBLUR: performance optimizations - REBLUR: tweaked hit distance weight - REBLUR: fixed regressions - REBLUR: improved virtual motion roughness confidence in temporal accumulation - REBLUR: maximized code reuse - REBLUR: refactoring - RELAX: removed geometry weights in firefly filter - RELAX: switched from disocclusion threshold to spatial filtering threshold in disocclusion fix - RELAX: added prev-prev test for roughness - RELAX: improved confidence buffers handling - RELAX: performance optimizations - NRD integration: now computes memory usage
- Loading branch information
Showing
238 changed files
with
8,123 additions
and
4,558 deletions.
There are no files selected for viewing
Submodule MathLib
updated
4 files
+1 −1 | External/sse2neon | |
+1 −4 | MathLib_d.h | |
+1 −4 | MathLib_f.h | |
+83 −67 | STL.hlsli |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,18 +11,15 @@ license agreement from NVIDIA CORPORATION is strictly prohibited. | |
/* | ||
CREDITS: | ||
Developed by: | ||
Library, REBLUR and SIGMA denoisers: | ||
Dmitry Zhdan ([email protected]) | ||
ReLAX denoiser: | ||
Tim Cheblokov ([email protected]) | ||
Pawel Kozlowski ([email protected]) | ||
Dmitry Zhdan ([email protected]) | ||
Tim Cheblokov ([email protected]) | ||
Special thanks: | ||
Evgeny Makarov (NVIDIA) - denoising ideas | ||
Ivan Fedorov (NVIDIA) - interface | ||
Ivan Povarov (NVIDIA) - QA, integrations and feedback | ||
Oles Shyshkovtsov (4A GAMES) - initial idea of recurrent blurring | ||
Pawel Kozlowski (NVIDIA) | ||
Evgeny Makarov (NVIDIA) | ||
Ivan Fedorov (NVIDIA) | ||
Ivan Povarov (NVIDIA) | ||
Oles Shyshkovtsov (4A GAMES) for initial idea of recurrent blurring | ||
*/ | ||
|
||
#pragma once | ||
|
@@ -31,9 +28,9 @@ license agreement from NVIDIA CORPORATION is strictly prohibited. | |
#include <cstddef> | ||
|
||
#define NRD_VERSION_MAJOR 3 | ||
#define NRD_VERSION_MINOR 3 | ||
#define NRD_VERSION_BUILD 1 | ||
#define NRD_VERSION_DATE "16 June 2022" | ||
#define NRD_VERSION_MINOR 4 | ||
#define NRD_VERSION_BUILD 0 | ||
#define NRD_VERSION_DATE "14 July 2022" | ||
|
||
#if defined(_MSC_VER) | ||
#define NRD_CALL __fastcall | ||
|
@@ -62,5 +59,8 @@ namespace nrd | |
NRD_API Result NRD_CALL SetMethodSettings(Denoiser& denoiser, Method method, const void* methodSettings); | ||
NRD_API Result NRD_CALL GetComputeDispatches(Denoiser& denoiser, const CommonSettings& commonSettings, const DispatchDesc*& dispatchDescs, uint32_t& dispatchDescNum); | ||
NRD_API void NRD_CALL DestroyDenoiser(Denoiser& denoiser); | ||
|
||
// Helpers | ||
NRD_API const char* GetResourceTypeString(ResourceType resourceType); | ||
NRD_API const char* GetMethodString(Method method); | ||
} |
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.