|
Blender V4.3
|
#include <denoiser_gpu.h>
Inherits Denoiser.
Classes | |
| class | DenoiseContext |
| class | DenoisePass |
| class | DenoiseTask |
Public Member Functions | |
| DenoiserGPU (Device *denoiser_device, const DenoiseParams ¶ms) | |
| ~DenoiserGPU () | |
| virtual bool | denoise_buffer (const BufferParams &buffer_params, RenderBuffers *render_buffers, const int num_samples, bool allow_inplace_modification) override |
Public Member Functions inherited from Denoiser | |
| virtual | ~Denoiser ()=default |
| void | set_params (const DenoiseParams ¶ms) |
| const DenoiseParams & | get_params () const |
| virtual bool | load_kernels (Progress *progress) |
| Device * | get_denoiser_device () const |
| bool | is_cancelled () const |
| void | set_error (const string &error) |
Protected Member Functions | |
| virtual bool | denoise_ensure (DenoiseContext &context) |
| virtual bool | denoise_create_if_needed (DenoiseContext &context)=0 |
| virtual bool | denoise_configure_if_needed (DenoiseContext &context)=0 |
| void | denoise_color_read (const DenoiseContext &context, const DenoisePass &pass) |
| bool | denoise_filter_color_preprocess (const DenoiseContext &context, const DenoisePass &pass) |
| bool | denoise_filter_color_postprocess (const DenoiseContext &context, const DenoisePass &pass) |
| bool | denoise_filter_guiding_set_fake_albedo (const DenoiseContext &context) |
| bool | denoise_filter_guiding_preprocess (const DenoiseContext &context) |
| void | denoise_pass (DenoiseContext &context, PassType pass_type) |
| virtual bool | denoise_buffer (const DenoiseTask &task) |
| virtual bool | denoise_run (const DenoiseContext &context, const DenoisePass &pass)=0 |
Protected Member Functions inherited from Denoiser | |
| Denoiser (Device *denoiser_device, const DenoiseParams ¶ms) | |
| virtual uint | get_device_type_mask () const =0 |
Protected Attributes | |
| unique_ptr< DeviceQueue > | denoiser_queue_ |
Protected Attributes inherited from Denoiser | |
| Device * | denoiser_device_ |
| bool | denoise_kernels_are_loaded_ |
| DenoiseParams | params_ |
Additional Inherited Members | |
Static Public Member Functions inherited from Denoiser | |
| static unique_ptr< Denoiser > | create (Device *denoise_device, Device *cpu_fallback_device, const DenoiseParams ¶ms) |
| static DenoiserType | automatic_viewport_denoiser_type (const DeviceInfo &denoise_device_info) |
Public Attributes inherited from Denoiser | |
| function< bool(void)> | is_cancelled_cb |
Definition at line 14 of file denoiser_gpu.h.
| CCL_NAMESPACE_BEGIN DenoiserGPU::DenoiserGPU | ( | Device * | denoiser_device, |
| const DenoiseParams & | params ) |
Definition at line 18 of file denoiser_gpu.cpp.
References DCHECK, denoiser_queue_, and Device::gpu_queue_create().
| DenoiserGPU::~DenoiserGPU | ( | ) |
Definition at line 25 of file denoiser_gpu.cpp.
|
overridevirtual |
Implements Denoiser.
Definition at line 30 of file denoiser_gpu.cpp.
References RenderBuffers::buffer, RenderBuffers::copy_from_device(), RenderBuffers::copy_to_device(), device_vector< T >::data(), denoise_buffer(), denoiser_queue_, device_memory::device, Denoiser::get_denoiser_device(), RenderBuffers::params, Denoiser::params_, render_buffers_host_copy_denoised(), RenderBuffers::reset(), device_vector< T >::size(), and VLOG_WORK.
Referenced by denoise_buffer().
|
protectedvirtual |
Definition at line 95 of file denoiser_gpu.cpp.
References denoise_ensure(), denoise_filter_guiding_preprocess(), denoise_pass(), Denoiser::denoiser_device_, LOG, PASS_COMBINED, PASS_SHADOW_CATCHER, and PASS_SHADOW_CATCHER_MATTE.
|
protected |
Definition at line 292 of file denoiser_gpu.cpp.
References denoiser_queue_, PassAccessor::get_render_tile_pixels(), BufferParams::height, PassAccessor::PassAccessInfo::mode, NOISY, PassAccessor::PassAccessInfo::offset, PassAccessor::PassAccessInfo::show_active_pixels, PassAccessor::PassAccessInfo::type, PassAccessor::PassAccessInfo::use_approximate_shadow_catcher, PassAccessor::PassAccessInfo::use_approximate_shadow_catcher_background, BufferParams::width, BufferParams::window_height, BufferParams::window_width, BufferParams::window_x, and BufferParams::window_y.
Referenced by denoise_pass().
|
protectedpure virtual |
Referenced by denoise_ensure().
|
protectedpure virtual |
Referenced by denoise_ensure().
|
protectedvirtual |
Definition at line 118 of file denoiser_gpu.cpp.
References denoise_configure_if_needed(), denoise_create_if_needed(), and LOG.
Referenced by denoise_buffer().
|
protected |
Definition at line 232 of file denoiser_gpu.cpp.
References denoiser_queue_, DEVICE_KERNEL_FILTER_COLOR_POSTPROCESS, BufferParams::full_x, BufferParams::full_y, BufferParams::height, BufferParams::offset, BufferParams::pass_stride, BufferParams::stride, BufferParams::width, and work_size.
Referenced by denoise_pass().
|
protected |
Definition at line 257 of file denoiser_gpu.cpp.
References denoiser_queue_, DEVICE_KERNEL_FILTER_COLOR_PREPROCESS, BufferParams::full_x, BufferParams::full_y, BufferParams::height, BufferParams::offset, BufferParams::pass_stride, BufferParams::stride, BufferParams::width, and work_size.
Referenced by denoise_pass().
|
protected |
Definition at line 133 of file denoiser_gpu.cpp.
References denoiser_queue_, DEVICE_KERNEL_FILTER_GUIDING_PREPROCESS, BufferParams::full_x, BufferParams::full_y, BufferParams::height, BufferParams::offset, BufferParams::pass_stride, BufferParams::stride, BufferParams::width, and work_size.
Referenced by denoise_buffer().
|
protected |
Definition at line 277 of file denoiser_gpu.cpp.
References denoiser_queue_, DEVICE_KERNEL_FILTER_GUIDING_SET_FAKE_ALBEDO, BufferParams::height, BufferParams::width, and work_size.
Referenced by denoise_pass().
|
protected |
Definition at line 326 of file denoiser_gpu.cpp.
References denoise_color_read(), denoise_filter_color_postprocess(), denoise_filter_color_preprocess(), denoise_filter_guiding_set_fake_albedo(), denoise_run(), denoiser_queue_, LOG, pass_type_as_string(), and PASS_UNUSED.
Referenced by denoise_buffer().
|
protectedpure virtual |
Referenced by denoise_pass().
|
protected |
Definition at line 83 of file denoiser_gpu.h.
Referenced by denoise_buffer(), denoise_color_read(), denoise_filter_color_postprocess(), denoise_filter_color_preprocess(), denoise_filter_guiding_preprocess(), denoise_filter_guiding_set_fake_albedo(), denoise_pass(), and DenoiserGPU().