Temporal shadow denoiser for ray traced shadow masks based on the Qualcomm Shadow Denoiser algorithm. More...
#include <kanzi/core.ui/graphics3d/shadow_denoiser.hpp>
Public Member Functions | |
| virtual void | denoise (Renderer &renderer, RenderPass::CameraSettings &cameraSettings, TextureSharedPtr texture, TextureSharedPtr depthTexture, TextureSharedPtr historyDepthTexture, TextureSharedPtr velocityTexture) override |
| Denoiser::denoise() implementation. | |
| virtual TextureSharedPtr | getDenoisedOutput () const override |
| Denoiser::getDenoisedOutput() implementation. | |
| virtual void | reinitialize (int mode, Vector3 temp, size_t blockWidth, size_t blockHeight) override |
| Denoiser::reinitialize() implementation. | |
| virtual void | setup (Domain *domain) override |
| Denoiser::setup() implementation. | |
Public Member Functions inherited from kanzi::Denoiser | |
| virtual | ~Denoiser ()=default |
| Destructor. | |
Temporal shadow denoiser for ray traced shadow masks based on the Qualcomm Shadow Denoiser algorithm.
ShadowDenoiser reduces noise in a ray traced shadow mask by accumulating and filtering samples across multiple frames. It uses depth-based reprojection to carry history from the previous frame, rejects disocclusions via depth min-max comparison, and applies a spatiotemporal filter to reconstruct a clean shadow signal from a one-sample-per-pixel input.
Denoiser::setup() implementation.
Implements kanzi::Denoiser.
|
overridevirtual |
Denoiser::denoise() implementation.
Implements kanzi::Denoiser.
|
overridevirtual |
Denoiser::reinitialize() implementation.
Implements kanzi::Denoiser.
|
overridevirtual |
Denoiser::getDenoisedOutput() implementation.
Implements kanzi::Denoiser.