Kanzi 4.1.0
kanzi::ShadowDenoiser Class Reference

Temporal shadow denoiser for ray traced shadow masks based on the Qualcomm Shadow Denoiser algorithm. More...

#include <kanzi/core.ui/graphics3d/shadow_denoiser.hpp>

Inheritance diagram for kanzi::ShadowDenoiser:
[legend]

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.
 

Detailed Description

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.

Since
Kanzi 4.1.0
Attention
This feature is experimental and is likely to change in future releases.

Member Function Documentation

◆ setup()

virtual void kanzi::ShadowDenoiser::setup ( Domain * domain)
overridevirtual

Denoiser::setup() implementation.

Implements kanzi::Denoiser.

◆ denoise()

virtual void kanzi::ShadowDenoiser::denoise ( Renderer & renderer,
RenderPass::CameraSettings & cameraSettings,
TextureSharedPtr texture,
TextureSharedPtr depthTexture,
TextureSharedPtr historyDepthTexture,
TextureSharedPtr velocityTexture )
overridevirtual

Denoiser::denoise() implementation.

Implements kanzi::Denoiser.

◆ reinitialize()

virtual void kanzi::ShadowDenoiser::reinitialize ( int mode,
Vector3 temp,
size_t blockWidth,
size_t blockHeight )
overridevirtual

Denoiser::reinitialize() implementation.

Implements kanzi::Denoiser.

◆ getDenoisedOutput()

virtual TextureSharedPtr kanzi::ShadowDenoiser::getDenoisedOutput ( ) const
overridevirtual

Denoiser::getDenoisedOutput() implementation.

Implements kanzi::Denoiser.


The documentation for this class was generated from the following file: