Kanzi 4.1.0
kanzi::Denoiser Class Referenceabstract

Abstract base class for denoising algorithms used with ray traced render passes. More...

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

Inheritance diagram for kanzi::Denoiser:
[legend]

Public Member Functions

virtual void denoise (Renderer &renderer, RenderPass::CameraSettings &cameraSettings, TextureSharedPtr texture, TextureSharedPtr depthTexture, TextureSharedPtr historyDepthTexture, TextureSharedPtr velocityTexture)=0
 Runs the denoising pass on the given input textures.
 
virtual TextureSharedPtr getDenoisedOutput () const =0
 Returns the denoised output texture produced by the last denoise() call.
 
virtual void reinitialize (int mode, Vector3 temp, size_t blockWidth, size_t blockHeight)=0
 Reinitializes the denoiser with new output dimensions or configuration.
 
virtual void setup (Domain *domain)=0
 Initializes denoiser resources for the given domain.
 
virtual ~Denoiser ()=default
 Destructor.
 

Detailed Description

Abstract base class for denoising algorithms used with ray traced render passes.

Derive from Denoiser to implement a custom denoising algorithm. Use DenoiserRenderPass to host a Denoiser implementation in the render graph.

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

Constructor & Destructor Documentation

◆ ~Denoiser()

virtual kanzi::Denoiser::~Denoiser ( )
virtualdefault

Destructor.

Member Function Documentation

◆ setup()

virtual void kanzi::Denoiser::setup ( Domain * domain)
pure virtual

Initializes denoiser resources for the given domain.

Parameters
domainThe domain to use.

Implemented in kanzi::ShadowDenoiser.

◆ denoise()

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

Runs the denoising pass on the given input textures.

Parameters
rendererRenderer to use.
cameraSettingsCamera settings for the current frame.
textureInput ray traced shadow mask texture to denoise.
depthTextureCurrent frame depth texture.
historyDepthTexturePrevious frame depth texture for reprojection.
velocityTextureMotion vector texture for reprojection.

Implemented in kanzi::ShadowDenoiser.

◆ reinitialize()

virtual void kanzi::Denoiser::reinitialize ( int mode,
Vector3 temp,
size_t blockWidth,
size_t blockHeight )
pure virtual

Reinitializes the denoiser with new output dimensions or configuration.

Parameters
modeDenoiser mode.
tempTemporary parameter passed to the denoiser implementation.
blockWidthWidth of the denoiser tile block in pixels.
blockHeightHeight of the denoiser tile block in pixels.

Implemented in kanzi::ShadowDenoiser.

◆ getDenoisedOutput()

virtual TextureSharedPtr kanzi::Denoiser::getDenoisedOutput ( ) const
pure virtual

Returns the denoised output texture produced by the last denoise() call.

Returns
Denoised output texture.

Implemented in kanzi::ShadowDenoiser.


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