|
Blender V5.0
|
#include <path_trace_work.h>
Inherited by PathTraceWorkCPU, and PathTraceWorkGPU.
Classes | |
| struct | RenderStatistics |
Public Member Functions | |
| virtual | ~PathTraceWork () |
| RenderBuffers * | get_render_buffers () |
| void | set_effective_buffer_params (const BufferParams &effective_full_params, const BufferParams &effective_big_tile_params, const BufferParams &effective_buffer_params) |
| bool | has_multiple_works () const |
| virtual void | alloc_work_memory () |
| virtual void | init_execution ()=0 |
| virtual void | render_samples (RenderStatistics &statistics, const int start_sample, const int samples_num, const int sample_offset)=0 |
| virtual void | copy_to_display (PathTraceDisplay *display, PassMode pass_mode, const int num_samples)=0 |
| virtual void | destroy_gpu_resources (PathTraceDisplay *display)=0 |
| void | copy_to_render_buffers (RenderBuffers *render_buffers) |
| void | copy_from_render_buffers (const RenderBuffers *render_buffers) |
| void | copy_from_denoised_render_buffers (const RenderBuffers *render_buffers) |
| virtual bool | copy_render_buffers_from_device ()=0 |
| virtual bool | copy_render_buffers_to_device ()=0 |
| virtual bool | zero_render_buffers ()=0 |
| bool | get_render_tile_pixels (const PassAccessor &pass_accessor, const PassAccessor::Destination &destination) |
| bool | set_render_tile_pixels (PassAccessor &pass_accessor, const PassAccessor::Source &source) |
| virtual int | adaptive_sampling_converge_filter_count_active (const float threshold, bool reset)=0 |
| virtual void | denoise_volume_guiding_buffers ()=0 |
| virtual void | cryptomatte_postproces ()=0 |
| bool | is_cancel_requested () const |
| Device * | get_device () const |
Static Public Member Functions | |
| static unique_ptr< PathTraceWork > | create (Device *device, Film *film, DeviceScene *device_scene, const bool *cancel_requested_flag) |
Protected Member Functions | |
| PathTraceWork (Device *device, Film *film, DeviceScene *device_scene, const 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 PassMode mode) 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_ |
| const bool * | cancel_requested_flag_ = nullptr |
Definition at line 21 of file path_trace_work.h.
|
virtualdefault |
|
protected |
Definition at line 37 of file path_trace_work.cpp.
References buffers_, cancel_requested_flag_, device_, device_scene_, effective_buffer_params_, film_, and params.
Referenced by PathTraceWorkCPU::PathTraceWorkCPU(), and PathTraceWorkGPU::PathTraceWorkGPU().
|
pure virtual |
Implemented in PathTraceWorkCPU, and PathTraceWorkGPU.
References reset().
|
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 114 of file path_trace_work.cpp.
References buffers_, copy_render_buffers_to_device(), effective_big_tile_params_, effective_buffer_params_, and render_buffers_host_copy_denoised().
| void PathTraceWork::copy_from_render_buffers | ( | const RenderBuffers * | render_buffers | ) |
Definition at line 95 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_, and float.
|
pure virtual |
Implemented in PathTraceWorkCPU, and PathTraceWorkGPU.
Referenced by copy_to_render_buffers().
|
pure virtual |
Implemented in PathTraceWorkCPU, and PathTraceWorkGPU.
Referenced by copy_from_denoised_render_buffers(), and copy_from_render_buffers().
|
pure virtual |
Implemented in PathTraceWorkCPU, and PathTraceWorkGPU.
| void PathTraceWork::copy_to_render_buffers | ( | RenderBuffers * | render_buffers | ) |
Definition at line 76 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_, and float.
|
static |
Definition at line 21 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 PathTraceWorkCPU, and PathTraceWorkGPU.
|
pure virtual |
Implemented in PathTraceWorkCPU, and PathTraceWorkGPU.
|
pure virtual |
Implemented in PathTraceWorkCPU, and PathTraceWorkGPU.
|
inline |
Definition at line 144 of file path_trace_work.h.
References device_.
Referenced by PathTrace::path_trace().
|
protected |
Definition at line 188 of file path_trace_work.cpp.
References effective_big_tile_params_, effective_buffer_params_, film_, PathTraceDisplay::get_texture_size(), PassAccessor::Destination::offset, PassAccessor::Destination::stride, and int2::x.
Referenced by PathTraceWorkCPU::copy_to_display(), and PathTraceWorkGPU::copy_to_display_interop().
|
protected |
Definition at line 151 of file path_trace_work.cpp.
References buffers_, DENOISED, device_scene_, film_, PassAccessor::PassAccessInfo::mode, NOISY, PassAccessor::PassAccessInfo::offset, params, PASS_UNUSED, PassAccessor::PassAccessInfo::show_active_pixels, BufferPass::type, PassAccessor::PassAccessInfo::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 52 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 126 of file path_trace_work.cpp.
References buffers_, effective_big_tile_params_, effective_buffer_params_, PassAccessor::get_render_tile_pixels(), and PassAccessor::Destination::offset.
| bool PathTraceWork::has_multiple_works | ( | ) | const |
Definition at line 66 of file path_trace_work.cpp.
References effective_big_tile_params_, and effective_buffer_params_.
Referenced by PathTraceWorkGPU::should_use_graphics_interop().
|
pure virtual |
Implemented in PathTraceWorkCPU, and PathTraceWorkGPU.
|
inline |
Definition at line 136 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 PathTraceWorkCPU, and PathTraceWorkGPU.
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 57 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 139 of file path_trace_work.cpp.
References buffers_, effective_big_tile_params_, effective_buffer_params_, PassAccessor::Source::offset, and PassAccessor::set_render_tile_pixels().
|
pure virtual |
Implemented in PathTraceWorkCPU, and PathTraceWorkGPU.
|
protected |
Definition at line 185 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(), PathTraceWorkCPU::denoise_volume_guiding_buffers(), PathTraceWorkGPU::denoise_volume_guiding_buffers(), 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(), PathTraceWork(), PathTraceWorkCPU::render_samples_full_pipeline(), set_render_tile_pixels(), PathTraceWorkCPU::zero_render_buffers(), and PathTraceWorkGPU::zero_render_buffers().
|
protected |
Definition at line 194 of file path_trace_work.h.
Referenced by is_cancel_requested(), and PathTraceWork().
|
protected |
Definition at line 173 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(), PathTraceWorkCPU::denoise_volume_guiding_buffers(), get_device(), PathTraceWorkCPU::init_execution(), PathTraceWorkGPU::init_execution(), PathTraceWork(), PathTraceWorkCPU::render_samples(), and PathTraceWorkGPU::render_samples().
|
protected |
Definition at line 180 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(), PathTraceWork(), PathTraceWorkGPU::render_samples(), and PathTraceWorkCPU::render_samples_full_pipeline().
|
protected |
Definition at line 191 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 192 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(), PathTraceWorkCPU::denoise_volume_guiding_buffers(), PathTraceWorkGPU::denoise_volume_guiding_buffers(), 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(), PathTraceWork(), PathTraceWorkCPU::render_samples(), PathTraceWorkGPU::render_samples(), set_effective_buffer_params(), and set_render_tile_pixels().
|
protected |
Definition at line 190 of file path_trace_work.h.
Referenced by set_effective_buffer_params().
|
protected |
Definition at line 177 of file path_trace_work.h.
Referenced by PathTraceWorkGPU::copy_to_display_naive(), get_display_destination_template(), get_display_pass_access_info(), and PathTraceWork().