Blender  V3.3
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Denoiser Class Referenceabstract

#include <denoiser.h>

Inheritance diagram for Denoiser:
DeviceDenoiser OIDNDenoiser OptiXDenoiser

Public Member Functions

virtual ~Denoiser ()=default
 
void set_params (const DenoiseParams &params)
 
const DenoiseParamsget_params () const
 
virtual bool load_kernels (Progress *progress)
 
virtual bool denoise_buffer (const BufferParams &buffer_params, RenderBuffers *render_buffers, const int num_samples, bool allow_inplace_modification)=0
 
Deviceget_denoiser_device () const
 
bool is_cancelled () const
 

Static Public Member Functions

static unique_ptr< Denoisercreate (Device *path_trace_device, const DenoiseParams &params)
 

Public Attributes

function< bool(void)> is_cancelled_cb
 

Protected Member Functions

 Denoiser (Device *path_trace_device, const DenoiseParams &params)
 
virtual Deviceensure_denoiser_device (Progress *progress)
 
virtual uint get_device_type_mask () const =0
 

Protected Attributes

Devicepath_trace_device_
 
DenoiseParams params_
 
Devicedenoiser_device_ = nullptr
 
unique_ptr< Devicelocal_denoiser_device_
 
bool device_creation_attempted_ = false
 

Detailed Description

Definition at line 27 of file denoiser.h.

Constructor & Destructor Documentation

◆ ~Denoiser()

virtual Denoiser::~Denoiser ( )
virtualdefault

◆ Denoiser()

Denoiser::Denoiser ( Device path_trace_device,
const DenoiseParams params 
)
protected

Definition at line 29 of file denoiser.cpp.

References DCHECK, and params.

Member Function Documentation

◆ create()

CCL_NAMESPACE_BEGIN unique_ptr< Denoiser > Denoiser::create ( Device path_trace_device,
const DenoiseParams params 
)
static

◆ denoise_buffer()

virtual bool Denoiser::denoise_buffer ( const BufferParams buffer_params,
RenderBuffers render_buffers,
const int  num_samples,
bool  allow_inplace_modification 
)
pure virtual

Implemented in OIDNDenoiser, and DeviceDenoiser.

◆ ensure_denoiser_device()

Device * Denoiser::ensure_denoiser_device ( Progress progress)
protectedvirtual

◆ get_denoiser_device()

Device * Denoiser::get_denoiser_device ( ) const

Definition at line 67 of file denoiser.cpp.

References denoiser_device_.

Referenced by DeviceDenoiser::denoise_buffer(), and denoiser_device_report().

◆ get_device_type_mask()

virtual uint Denoiser::get_device_type_mask ( ) const
protectedpure virtual

Implemented in OptiXDenoiser, and OIDNDenoiser.

Referenced by ensure_denoiser_device().

◆ get_params()

const DenoiseParams & Denoiser::get_params ( ) const

Definition at line 47 of file denoiser.cpp.

References params_.

Referenced by denoiser_device_report().

◆ is_cancelled()

bool Denoiser::is_cancelled ( ) const
inline

Definition at line 91 of file denoiser.h.

References is_cancelled_cb.

Referenced by OIDNDenoiser::denoise_buffer().

◆ load_kernels()

bool Denoiser::load_kernels ( Progress progress)
virtual

◆ set_params()

void Denoiser::set_params ( const DenoiseParams params)

Definition at line 35 of file denoiser.cpp.

References DCHECK_EQ, LOG, params, params_, and DenoiseParams::type.

Member Data Documentation

◆ denoiser_device_

Device* Denoiser::denoiser_device_ = nullptr
protected

Definition at line 114 of file denoiser.h.

Referenced by ensure_denoiser_device(), and get_denoiser_device().

◆ device_creation_attempted_

bool Denoiser::device_creation_attempted_ = false
protected

Definition at line 119 of file denoiser.h.

Referenced by ensure_denoiser_device().

◆ is_cancelled_cb

function<bool(void)> Denoiser::is_cancelled_cb

Definition at line 89 of file denoiser.h.

Referenced by is_cancelled().

◆ local_denoiser_device_

unique_ptr<Device> Denoiser::local_denoiser_device_
protected

Definition at line 118 of file denoiser.h.

Referenced by ensure_denoiser_device().

◆ params_

DenoiseParams Denoiser::params_
protected

◆ path_trace_device_

Device* Denoiser::path_trace_device_
protected

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