|
Blender V5.0
|
#include <denoiser_gpu.h>
Inherits Denoiser.
Classes | |
| class | DenoiseTask |
| class | DenoisePass |
| class | DenoiseContext |
Public Member Functions | |
| DenoiserGPU (Device *denoiser_device, const DenoiseParams ¶ms) | |
| ~DenoiserGPU () override | |
| 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 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 *denoiser_device, Device *cpu_fallback_device, const DenoiseParams ¶ms, const GraphicsInteropDevice &interop_device) |
| static DenoiserType | automatic_viewport_denoiser_type (const DeviceInfo &denoise_device_info) |
| Public Attributes inherited from Denoiser | |
| std::function< bool(void)> | is_cancelled_cb |
Definition at line 16 of file denoiser_gpu.h.
| CCL_NAMESPACE_BEGIN DenoiserGPU::DenoiserGPU | ( | Device * | denoiser_device, |
| const DenoiseParams & | params ) |
Definition at line 20 of file denoiser_gpu.cpp.
References DCHECK, Denoiser::Denoiser(), denoiser_queue_, Device::gpu_queue_create(), and params.
|
override |
Definition at line 27 of file denoiser_gpu.cpp.
|
overridevirtual |
Implements Denoiser.
Definition at line 32 of file denoiser_gpu.cpp.
References DenoiserGPU::DenoiseTask::allow_inplace_modification, RenderBuffers::buffer, DenoiserGPU::DenoiseTask::buffer_params, RenderBuffers::copy_from_device(), RenderBuffers::copy_to_device(), device_vector< T >::data(), denoise_buffer(), denoiser_queue_, device_memory::device, Denoiser::get_denoiser_device(), LOG_DEBUG, DenoiserGPU::DenoiseTask::num_samples, DenoiserGPU::DenoiseTask::params, RenderBuffers::params, Denoiser::params_, DenoiserGPU::DenoiseTask::render_buffers, render_buffers_host_copy_denoised(), RenderBuffers::reset(), and device_vector< T >::size().
Referenced by denoise_buffer().
|
protectedvirtual |
Definition at line 97 of file denoiser_gpu.cpp.
References denoise_ensure(), denoise_filter_guiding_preprocess(), denoise_pass(), Denoiser::denoiser_device_, LOG_ERROR, PASS_COMBINED, PASS_SHADOW_CATCHER, and PASS_SHADOW_CATCHER_MATTE.
|
protected |
Definition at line 373 of file denoiser_gpu.cpp.
References PassAccessor::Destination::d_pixels, DenoiserGPU::DenoisePass::denoised_offset, denoiser_queue_, PassAccessor::get_render_tile_pixels(), BufferParams::height, PassAccessor::PassAccessInfo::mode, NOISY, DenoiserGPU::DenoisePass::noisy_offset, PassAccessor::Destination::num_components, PassAccessor::PassAccessInfo::offset, PassAccessor::Destination::pixel_offset, PassAccessor::Destination::pixel_stride, PassAccessor::PassAccessInfo::show_active_pixels, DenoiserGPU::DenoisePass::type, 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 120 of file denoiser_gpu.cpp.
References denoise_configure_if_needed(), denoise_create_if_needed(), and LOG_ERROR.
Referenced by denoise_buffer().
|
protected |
Definition at line 294 of file denoiser_gpu.cpp.
References DenoiserGPU::DenoisePass::denoised_offset, DENOISER_OPTIX, denoiser_queue_, DEVICE_KERNEL_FILTER_COLOR_FLIP_Y, BufferParams::full_x, BufferParams::full_y, BufferParams::height, BufferParams::offset, BufferParams::pass_stride, BufferParams::stride, BufferParams::width, and work_size.
Referenced by denoise_filter_color_postprocess(), and denoise_filter_color_preprocess().
|
protected |
Definition at line 235 of file denoiser_gpu.cpp.
References denoise_filter_color_flip_y(), DenoiserGPU::DenoisePass::denoised_offset, denoiser_queue_, DEVICE_KERNEL_FILTER_COLOR_POSTPROCESS, BufferParams::full_x, BufferParams::full_y, BufferParams::height, DenoiserGPU::DenoisePass::noisy_offset, DenoiserGPU::DenoisePass::num_components, BufferParams::offset, BufferParams::pass_stride, BufferParams::stride, DenoiserGPU::DenoisePass::use_compositing, BufferParams::width, and work_size.
Referenced by denoise_pass().
|
protected |
Definition at line 264 of file denoiser_gpu.cpp.
References denoise_filter_color_flip_y(), DenoiserGPU::DenoisePass::denoised_offset, DENOISER_OPTIX, 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 320 of file denoiser_gpu.cpp.
References DENOISER_OPTIX, denoiser_queue_, DEVICE_KERNEL_FILTER_COLOR_FLIP_Y, BufferParams::height, PASS_UNUSED, BufferParams::width, and work_size.
Referenced by denoise_filter_guiding_preprocess().
|
protected |
Definition at line 135 of file denoiser_gpu.cpp.
References denoise_filter_guiding_flip_y(), 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 358 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 407 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(), DenoiserGPU::DenoisePass::denoised_offset, denoiser_queue_, LOG_DFATAL, LOG_ERROR, DenoiserGPU::DenoisePass::noisy_offset, pass_type_as_string(), PASS_UNUSED, and DenoiserGPU::DenoisePass::use_denoising_albedo.
Referenced by denoise_buffer().
|
protectedpure virtual |
Referenced by denoise_pass().
|
protected |
Definition at line 87 of file denoiser_gpu.h.
Referenced by denoise_buffer(), denoise_color_read(), denoise_filter_color_flip_y(), denoise_filter_color_postprocess(), denoise_filter_color_preprocess(), denoise_filter_guiding_flip_y(), denoise_filter_guiding_preprocess(), denoise_filter_guiding_set_fake_albedo(), denoise_pass(), and DenoiserGPU().