|
Blender
V2.93
|
#include <device_denoising.h>
Classes | |
| struct | DenoiseBuffers |
| struct | DeviceFunctions |
| struct | NLMState |
| struct | ReconstructionState |
| struct | RenderBuffers |
| struct | Storage |
| struct | TargetBuffer |
Public Member Functions | |
| DenoisingTask (Device *device, const DeviceTask &task) | |
| ~DenoisingTask () | |
| void | run_denoising (RenderTile &tile) |
Public Attributes | |
| int | radius |
| float | nlm_k_2 |
| float | pca_threshold |
| struct DenoisingTask::RenderBuffers | render_buffer |
| struct DenoisingTask::TargetBuffer | target_buffer |
| TileInfo * | tile_info |
| device_vector< int > | tile_info_mem |
| ProfilingState * | profiler |
| int4 | rect |
| int4 | filter_area |
| bool | do_prefilter |
| bool | do_filter |
| struct DenoisingTask::DeviceFunctions | functions |
| struct DenoisingTask::ReconstructionState | reconstruction_state |
| struct DenoisingTask::NLMState | nlm_state |
| struct DenoisingTask::Storage | storage |
| struct DenoisingTask::DenoiseBuffers | buffer |
Protected Member Functions | |
| void | set_render_buffer (RenderTileNeighbors &neighbors) |
| void | setup_denoising_buffer () |
| void | prefilter_shadowing () |
| void | prefilter_features () |
| void | prefilter_color () |
| void | construct_transform () |
| void | reconstruct () |
| void | load_buffer () |
| void | write_buffer () |
Protected Attributes | |
| Device * | device |
Definition at line 30 of file device_denoising.h.
| CCL_NAMESPACE_BEGIN DenoisingTask::DenoisingTask | ( | Device * | device, |
| const DeviceTask & | task | ||
| ) |
Definition at line 23 of file device_denoising.cpp.
References device_vector< T >::alloc(), DENOISE_MAX_FRAMES, DENOISER_NLM, DenoisingTask::TargetBuffer::denoising_clean_offset, device, do_filter, do_prefilter, DenoisingTask::RenderBuffers::frame_stride, TileInfo::frames, TileInfo::from_render, function_bind, functions, lerp(), DenoisingTask::DeviceFunctions::map_neighbor_tiles, min, nlm_k_2, TileInfo::num_frames, DenoisingTask::RenderBuffers::offset, DenoisingTask::TargetBuffer::offset, DenoisingTask::RenderBuffers::pass_stride, DenoisingTask::TargetBuffer::pass_stride, pca_threshold, powf, radius, render_buffer, target_buffer, blender::compositor::task, tile_info, tile_info_mem, and DenoisingTask::DeviceFunctions::unmap_neighbor_tiles.
| DenoisingTask::~DenoisingTask | ( | ) |
Definition at line 63 of file device_denoising.cpp.
References buffer, device_only_memory< T >::free(), device_vector< T >::free(), DenoisingTask::DenoiseBuffers::mem, DenoisingTask::Storage::rank, storage, DenoisingTask::DenoiseBuffers::temporary_mem, tile_info_mem, DenoisingTask::Storage::transform, DenoisingTask::Storage::XtWX, and DenoisingTask::Storage::XtWY.
|
protected |
Definition at line 280 of file device_denoising.cpp.
References device_only_memory< T >::alloc_to_device(), DenoisingTask::DeviceFunctions::construct_transform, filter_area, functions, DenoisingTask::Storage::h, DenoisingTask::Storage::rank, storage, DenoisingTask::Storage::transform, TRANSFORM_SIZE, int4::w, DenoisingTask::Storage::w, and int4::z.
Referenced by run_denoising().
|
protected |
Definition at line 245 of file device_denoising.cpp.
References buffer, DenoisingTask::RenderBuffers::frame_stride, DenoisingTask::DenoiseBuffers::frame_stride, functions, DenoisingTask::DeviceFunctions::get_feature, DenoisingTask::DenoiseBuffers::mem, TileInfo::num_frames, DenoisingTask::RenderBuffers::offset, DenoisingTask::DenoiseBuffers::pass_stride, render_buffer, DenoisingTask::RenderBuffers::samples, tile_info, and DenoisingTask::DenoiseBuffers::use_intensity.
Referenced by run_denoising().
|
protected |
Definition at line 209 of file device_denoising.cpp.
References device_only_memory< T >::alloc_to_device(), buffer, DenoisingTask::DeviceFunctions::detect_outliers, device, device_memory::device_pointer, functions, DenoisingTask::DeviceFunctions::get_feature, DenoisingTask::DenoiseBuffers::mem, nlm_k_2, nlm_state, DenoisingTask::DeviceFunctions::non_local_means, DenoisingTask::DenoiseBuffers::pass_stride, radius, render_buffer, DenoisingTask::RenderBuffers::samples, DenoisingTask::NLMState::set_parameters(), and DenoisingTask::DenoiseBuffers::use_intensity.
Referenced by run_denoising().
|
protected |
Definition at line 186 of file device_denoising.cpp.
References buffer, functions, DenoisingTask::DeviceFunctions::get_feature, DenoisingTask::DenoiseBuffers::mem, nlm_state, DenoisingTask::DeviceFunctions::non_local_means, DenoisingTask::DenoiseBuffers::pass_stride, render_buffer, DenoisingTask::RenderBuffers::samples, and DenoisingTask::NLMState::set_parameters().
Referenced by run_denoising().
|
protected |
Definition at line 143 of file device_denoising.cpp.
References buffer, DenoisingTask::DeviceFunctions::combine_halves, DenoisingTask::DeviceFunctions::divide_shadow, functions, DenoisingTask::DenoiseBuffers::mem, nlm_state, DenoisingTask::DeviceFunctions::non_local_means, DenoisingTask::DenoiseBuffers::pass_stride, rect, and DenoisingTask::NLMState::set_parameters().
Referenced by run_denoising().
|
protected |
Definition at line 291 of file device_denoising.cpp.
References DenoisingTask::DeviceFunctions::accumulate, device_only_memory< T >::alloc_to_device(), buffer, DenoisingTask::ReconstructionState::buffer_params, DenoisingTask::TargetBuffer::denoising_clean_offset, filter_area, DenoisingTask::ReconstructionState::filter_window, TileInfo::frames, functions, DenoisingTask::Storage::h, make_int4, DenoisingTask::DenoiseBuffers::mem, NULL, TileInfo::num_frames, DenoisingTask::TargetBuffer::offset, DenoisingTask::TargetBuffer::pass_stride, DenoisingTask::DenoiseBuffers::pass_stride, DenoisingTask::TargetBuffer::ptr, reconstruction_state, rect, rect_from_shape(), DenoisingTask::DeviceFunctions::solve, DenoisingTask::ReconstructionState::source_h, DenoisingTask::ReconstructionState::source_w, storage, DenoisingTask::TargetBuffer::stride, target_buffer, tile_info, int4::w, DenoisingTask::Storage::w, int4::x, DenoisingTask::Storage::XtWX, XTWX_SIZE, DenoisingTask::Storage::XtWY, XTWY_SIZE, int4::y, int4::z, and device_only_memory< T >::zero_to_device().
Referenced by run_denoising().
| void DenoisingTask::run_denoising | ( | RenderTile & | tile | ) |
Definition at line 324 of file device_denoising.cpp.
References construct_transform(), do_filter, do_prefilter, TileInfo::from_render, functions, load_buffer(), DenoisingTask::DeviceFunctions::map_neighbor_tiles, prefilter_color(), prefilter_features(), prefilter_shadowing(), reconstruct(), set_render_buffer(), setup_denoising_buffer(), tile_info, DenoisingTask::DeviceFunctions::unmap_neighbor_tiles, and write_buffer().
Referenced by CPUDevice::denoise_nlm().
|
protected |
Definition at line 74 of file device_denoising.cpp.
References RenderTile::buffer, TileInfo::buffers, RenderTile::buffers, device_vector< T >::copy_to_device(), DenoisingTask::TargetBuffer::denoising_output_offset, do_prefilter, RenderTile::h, DenoisingTask::TargetBuffer::offset, RenderTile::offset, TileInfo::offsets, DenoisingTask::TargetBuffer::ptr, RenderTileNeighbors::SIZE, DenoisingTask::TargetBuffer::stride, RenderTile::stride, TileInfo::strides, RenderTileNeighbors::target, target_buffer, tile_info, tile_info_mem, RenderTileNeighbors::tiles, RenderTile::w, TileInfo::x, RenderTile::x, TileInfo::y, and RenderTile::y.
Referenced by run_denoising().
|
protected |
Definition at line 106 of file device_denoising.cpp.
References align_up(), device_only_memory< T >::alloc_to_device(), buffer, device, divide_up(), do_prefilter, filter_area, DenoisingTask::DenoiseBuffers::frame_stride, DenoisingTask::DenoiseBuffers::gpu_temporary_mem, DenoisingTask::DenoiseBuffers::h, make_int4, max, DenoisingTask::DenoiseBuffers::mem, Device::mem_sub_ptr_alignment(), TileInfo::num_frames, DenoisingTask::DenoiseBuffers::pass_stride, DenoisingTask::DenoiseBuffers::passes, radius, rect, rect_clip(), rect_expand(), rect_from_shape(), DenoisingTask::DenoiseBuffers::stride, DenoisingTask::DenoiseBuffers::temporary_mem, tile_info, DenoisingTask::DenoiseBuffers::use_intensity, DenoisingTask::DenoiseBuffers::use_time, int4::w, DenoisingTask::DenoiseBuffers::width, int4::x, TileInfo::x, int4::y, TileInfo::y, and int4::z.
Referenced by run_denoising().
|
protected |
Definition at line 266 of file device_denoising.cpp.
References buffer, DenoisingTask::ReconstructionState::buffer_params, DenoisingTask::TargetBuffer::denoising_clean_offset, DenoisingTask::TargetBuffer::denoising_output_offset, functions, make_int4, DenoisingTask::DenoiseBuffers::mem, DenoisingTask::TargetBuffer::offset, DenoisingTask::TargetBuffer::pass_stride, DenoisingTask::DenoiseBuffers::pass_stride, DenoisingTask::TargetBuffer::ptr, reconstruction_state, DenoisingTask::TargetBuffer::stride, target_buffer, DenoisingTask::DenoiseBuffers::use_intensity, and DenoisingTask::DeviceFunctions::write_feature.
Referenced by run_denoising().
| struct DenoisingTask::DenoiseBuffers DenoisingTask::buffer |
|
protected |
Definition at line 181 of file device_denoising.h.
Referenced by DenoisingTask(), prefilter_color(), and setup_denoising_buffer().
| bool DenoisingTask::do_filter |
Definition at line 64 of file device_denoising.h.
Referenced by DenoisingTask(), and run_denoising().
| bool DenoisingTask::do_prefilter |
Definition at line 63 of file device_denoising.h.
Referenced by DenoisingTask(), run_denoising(), set_render_buffer(), and setup_denoising_buffer().
| int4 DenoisingTask::filter_area |
Definition at line 61 of file device_denoising.h.
Referenced by construct_transform(), CPUDevice::denoise_nlm(), reconstruct(), and setup_denoising_buffer().
| struct DenoisingTask::DeviceFunctions DenoisingTask::functions |
| float DenoisingTask::nlm_k_2 |
Definition at line 34 of file device_denoising.h.
Referenced by DenoisingTask(), and prefilter_color().
| struct DenoisingTask::NLMState DenoisingTask::nlm_state |
Referenced by prefilter_color(), prefilter_features(), and prefilter_shadowing().
| float DenoisingTask::pca_threshold |
Definition at line 35 of file device_denoising.h.
Referenced by DenoisingTask().
| ProfilingState* DenoisingTask::profiler |
Definition at line 58 of file device_denoising.h.
Referenced by CPUDevice::denoise_nlm(), CPUDevice::thread_denoise(), and CPUDevice::thread_render().
| int DenoisingTask::radius |
Definition at line 33 of file device_denoising.h.
Referenced by DenoisingTask(), prefilter_color(), and setup_denoising_buffer().
| struct DenoisingTask::ReconstructionState DenoisingTask::reconstruction_state |
Referenced by reconstruct(), and write_buffer().
| int4 DenoisingTask::rect |
Definition at line 60 of file device_denoising.h.
Referenced by prefilter_shadowing(), reconstruct(), and setup_denoising_buffer().
| struct DenoisingTask::RenderBuffers DenoisingTask::render_buffer |
Referenced by CPUDevice::denoise_nlm(), DenoisingTask(), load_buffer(), prefilter_color(), and prefilter_features().
| struct DenoisingTask::Storage DenoisingTask::storage |
Referenced by construct_transform(), reconstruct(), and ~DenoisingTask().
| struct DenoisingTask::TargetBuffer DenoisingTask::target_buffer |
Referenced by DenoisingTask(), reconstruct(), set_render_buffer(), and write_buffer().
| TileInfo* DenoisingTask::tile_info |
Definition at line 55 of file device_denoising.h.
Referenced by DenoisingTask(), load_buffer(), reconstruct(), run_denoising(), set_render_buffer(), and setup_denoising_buffer().
| device_vector<int> DenoisingTask::tile_info_mem |
Definition at line 56 of file device_denoising.h.
Referenced by DenoisingTask(), set_render_buffer(), and ~DenoisingTask().