Blender
V3.3
|
#include <path_trace_work.h>
Classes | |
struct | RenderStatistics |
Static Public Member Functions | |
static unique_ptr< PathTraceWork > | create (Device *device, Film *film, DeviceScene *device_scene, bool *cancel_requested_flag) |
Protected Member Functions | |
PathTraceWork (Device *device, Film *film, DeviceScene *device_scene, bool *cancel_requested_flag) | |
PassAccessor::PassAccessInfo | get_display_pass_access_info (PassMode pass_mode) const |
PassAccessor::Destination | get_display_destination_template (const PathTraceDisplay *display) const |
Protected Attributes | |
Device * | device_ |
Film * | film_ |
DeviceScene * | device_scene_ |
unique_ptr< RenderBuffers > | buffers_ |
BufferParams | effective_full_params_ |
BufferParams | effective_big_tile_params_ |
BufferParams | effective_buffer_params_ |
bool * | cancel_requested_flag_ = nullptr |
Definition at line 21 of file path_trace_work.h.
|
virtual |
Definition at line 47 of file path_trace_work.cpp.
|
protected |
Definition at line 34 of file path_trace_work.cpp.
|
pure virtual |
Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.
|
inlinevirtual |
Reimplemented in PathTraceWorkGPU.
Definition at line 54 of file path_trace_work.h.
void PathTraceWork::copy_from_denoised_render_buffers | ( | const RenderBuffers * | render_buffers | ) |
Definition at line 113 of file path_trace_work.cpp.
References buffers_, copy_render_buffers_to_device(), effective_big_tile_params_, effective_buffer_params_, BufferParams::full_y, offset, render_buffers_host_copy_denoised(), BufferParams::width, and width.
void PathTraceWork::copy_from_render_buffers | ( | const RenderBuffers * | render_buffers | ) |
Definition at line 94 of file path_trace_work.cpp.
References RenderBuffers::buffer, buffers_, copy_render_buffers_to_device(), device_vector< T >::data(), effective_big_tile_params_, effective_buffer_params_, float(), BufferParams::full_y, BufferParams::height, height, pass_stride, BufferParams::pass_stride, src, BufferParams::width, and width.
|
pure virtual |
Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.
Referenced by copy_to_render_buffers().
|
pure virtual |
Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.
Referenced by copy_from_denoised_render_buffers(), and copy_from_render_buffers().
|
pure virtual |
Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.
void PathTraceWork::copy_to_render_buffers | ( | RenderBuffers * | render_buffers | ) |
Definition at line 75 of file path_trace_work.cpp.
References RenderBuffers::buffer, buffers_, copy_render_buffers_from_device(), device_vector< T >::data(), effective_big_tile_params_, effective_buffer_params_, float(), BufferParams::full_y, BufferParams::height, height, pass_stride, BufferParams::pass_stride, src, BufferParams::width, and width.
|
static |
Definition at line 18 of file path_trace_work.cpp.
References DEVICE_CPU, DEVICE_DUMMY, Device::info, and DeviceInfo::type.
Referenced by PathTrace::denoise(), and PathTrace::PathTrace().
|
pure virtual |
Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.
|
pure virtual |
Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.
|
inline |
Definition at line 138 of file path_trace_work.h.
References device_.
|
protected |
Definition at line 182 of file path_trace_work.cpp.
References effective_big_tile_params_, effective_buffer_params_, film_, BufferParams::full_x, BufferParams::full_y, PathTraceDisplay::get_texture_size(), PassAccessor::Destination::offset, PassAccessor::Destination::stride, BufferParams::window_x, BufferParams::window_y, and int2::x.
Referenced by PathTraceWorkCPU::copy_to_display(), and PathTraceWorkGPU::copy_to_display_interop().
|
protected |
Definition at line 150 of file path_trace_work.cpp.
References buffers_, DeviceScene::data, DENOISED, device_scene_, film_, PassAccessor::PassAccessInfo::mode, NOISY, PassAccessor::PassAccessInfo::offset, params, PASS_UNUSED, PassAccessor::PassAccessInfo::show_active_pixels, PassAccessor::PassAccessInfo::type, BufferPass::type, PassAccessor::PassAccessInfo::use_approximate_shadow_catcher, and PassAccessor::PassAccessInfo::use_approximate_shadow_catcher_background.
Referenced by PathTraceWorkCPU::copy_to_display(), and PathTraceWorkGPU::get_render_tile_film_pixels().
RenderBuffers * PathTraceWork::get_render_buffers | ( | ) |
Definition at line 51 of file path_trace_work.cpp.
References buffers_.
Referenced by PathTrace::update_allocated_work_buffer_params().
bool PathTraceWork::get_render_tile_pixels | ( | const PassAccessor & | pass_accessor, |
const PassAccessor::Destination & | destination | ||
) |
Definition at line 125 of file path_trace_work.cpp.
References buffers_, effective_big_tile_params_, effective_buffer_params_, BufferParams::full_y, PassAccessor::get_render_tile_pixels(), PassAccessor::Destination::offset, BufferParams::width, width, and BufferParams::window_y.
bool PathTraceWork::has_multiple_works | ( | ) | const |
Definition at line 65 of file path_trace_work.cpp.
References effective_big_tile_params_, effective_buffer_params_, BufferParams::full_x, BufferParams::full_y, BufferParams::height, and BufferParams::width.
Referenced by PathTraceWorkGPU::should_use_graphics_interop().
|
pure virtual |
Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.
|
inline |
Definition at line 130 of file path_trace_work.h.
References cancel_requested_flag_.
Referenced by PathTraceWorkGPU::enqueue_work_tiles(), PathTraceWorkCPU::render_samples(), PathTraceWorkGPU::render_samples(), and PathTraceWorkCPU::render_samples_full_pipeline().
|
pure virtual |
Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.
Referenced by PathTrace::path_trace().
void PathTraceWork::set_effective_buffer_params | ( | const BufferParams & | effective_full_params, |
const BufferParams & | effective_big_tile_params, | ||
const BufferParams & | effective_buffer_params | ||
) |
Definition at line 56 of file path_trace_work.cpp.
References effective_big_tile_params_, effective_buffer_params_, and effective_full_params_.
Referenced by PathTrace::update_effective_work_buffer_params().
bool PathTraceWork::set_render_tile_pixels | ( | PassAccessor & | pass_accessor, |
const PassAccessor::Source & | source | ||
) |
Definition at line 138 of file path_trace_work.cpp.
References buffers_, effective_big_tile_params_, effective_buffer_params_, BufferParams::full_y, PassAccessor::Source::offset, PassAccessor::set_render_tile_pixels(), BufferParams::width, and width.
|
pure virtual |
Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.
|
protected |
Definition at line 170 of file path_trace_work.h.
Referenced by PathTraceWorkCPU::adaptive_sampling_converge_filter_count_active(), PathTraceWorkGPU::adaptive_sampling_convergence_check_count_active(), copy_from_denoised_render_buffers(), copy_from_render_buffers(), PathTraceWorkCPU::copy_render_buffers_from_device(), PathTraceWorkGPU::copy_render_buffers_from_device(), PathTraceWorkCPU::copy_render_buffers_to_device(), PathTraceWorkGPU::copy_render_buffers_to_device(), PathTraceWorkCPU::copy_to_display(), PathTraceWorkGPU::copy_to_display(), PathTraceWorkGPU::copy_to_display_naive(), copy_to_render_buffers(), PathTraceWorkCPU::cryptomatte_postproces(), PathTraceWorkGPU::cryptomatte_postproces(), PathTraceWorkGPU::enqueue_adaptive_sampling_filter_x(), PathTraceWorkGPU::enqueue_adaptive_sampling_filter_y(), PathTraceWorkGPU::enqueue_path_iteration(), PathTraceWorkGPU::enqueue_work_tiles(), get_display_pass_access_info(), get_render_buffers(), PathTraceWorkGPU::get_render_tile_film_pixels(), get_render_tile_pixels(), PathTraceWorkCPU::render_samples_full_pipeline(), set_render_tile_pixels(), PathTraceWorkCPU::zero_render_buffers(), and PathTraceWorkGPU::zero_render_buffers().
|
protected |
Definition at line 179 of file path_trace_work.h.
Referenced by is_cancel_requested().
|
protected |
Definition at line 158 of file path_trace_work.h.
Referenced by PathTraceWorkCPU::adaptive_sampling_converge_filter_count_active(), PathTraceWorkGPU::adaptive_sampling_convergence_check_count_active(), PathTraceWorkCPU::copy_to_display(), PathTraceWorkGPU::copy_to_display(), PathTraceWorkCPU::cryptomatte_postproces(), get_device(), PathTraceWorkCPU::init_execution(), PathTraceWorkGPU::init_execution(), PathTraceWorkCPU::render_samples(), and PathTraceWorkGPU::render_samples().
|
protected |
Definition at line 165 of file path_trace_work.h.
Referenced by PathTraceWorkGPU::alloc_integrator_soa(), PathTraceWorkGPU::alloc_integrator_sorting(), PathTraceWorkGPU::compute_sorted_queued_paths(), PathTraceWorkCPU::copy_to_display(), PathTraceWorkGPU::enqueue_reset(), PathTraceWorkGPU::enqueue_work_tiles(), get_display_pass_access_info(), PathTraceWorkGPU::get_render_tile_film_pixels(), PathTraceWorkGPU::has_shadow_catcher(), PathTraceWorkGPU::kernel_creates_ao_paths(), PathTraceWorkGPU::render_samples(), and PathTraceWorkCPU::render_samples_full_pipeline().
|
protected |
Definition at line 176 of file path_trace_work.h.
Referenced by copy_from_denoised_render_buffers(), copy_from_render_buffers(), PathTraceWorkGPU::copy_to_display_naive(), copy_to_render_buffers(), get_display_destination_template(), get_render_tile_pixels(), has_multiple_works(), set_effective_buffer_params(), and set_render_tile_pixels().
|
protected |
Definition at line 177 of file path_trace_work.h.
Referenced by PathTraceWorkCPU::adaptive_sampling_converge_filter_count_active(), PathTraceWorkGPU::adaptive_sampling_convergence_check_count_active(), copy_from_denoised_render_buffers(), copy_from_render_buffers(), PathTraceWorkCPU::copy_to_display(), PathTraceWorkGPU::copy_to_display_naive(), copy_to_render_buffers(), PathTraceWorkCPU::cryptomatte_postproces(), PathTraceWorkGPU::cryptomatte_postproces(), PathTraceWorkGPU::enqueue_adaptive_sampling_filter_x(), PathTraceWorkGPU::enqueue_adaptive_sampling_filter_y(), get_display_destination_template(), PathTraceWorkGPU::get_render_tile_film_pixels(), get_render_tile_pixels(), has_multiple_works(), PathTraceWorkCPU::render_samples(), PathTraceWorkGPU::render_samples(), set_effective_buffer_params(), and set_render_tile_pixels().
|
protected |
Definition at line 175 of file path_trace_work.h.
Referenced by set_effective_buffer_params().
|
protected |
Definition at line 162 of file path_trace_work.h.
Referenced by PathTraceWorkGPU::copy_to_display_naive(), get_display_destination_template(), and get_display_pass_access_info().