Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/integrator/path_trace.h
| Show All 13 Lines | |||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #pragma once | #pragma once | ||||
| #include "integrator/denoiser.h" | #include "integrator/denoiser.h" | ||||
| #include "integrator/pass_accessor.h" | #include "integrator/pass_accessor.h" | ||||
| #include "integrator/path_trace_work.h" | #include "integrator/path_trace_work.h" | ||||
| #include "integrator/work_balancer.h" | |||||
| #include "render/buffers.h" | #include "render/buffers.h" | ||||
| #include "util/util_function.h" | #include "util/util_function.h" | ||||
| #include "util/util_thread.h" | #include "util/util_thread.h" | ||||
| #include "util/util_unique_ptr.h" | #include "util/util_unique_ptr.h" | ||||
| #include "util/util_vector.h" | #include "util/util_vector.h" | ||||
| CCL_NAMESPACE_BEGIN | CCL_NAMESPACE_BEGIN | ||||
| ▲ Show 20 Lines • Show All 145 Lines • ▼ Show 20 Lines | protected: | ||||
| * | * | ||||
| * Note that some steps might modify the work, forcing some steps to happen within this iteration | * Note that some steps might modify the work, forcing some steps to happen within this iteration | ||||
| * of rendering. */ | * of rendering. */ | ||||
| void init_render_buffers(const RenderWork &render_work); | void init_render_buffers(const RenderWork &render_work); | ||||
| void path_trace(RenderWork &render_work); | void path_trace(RenderWork &render_work); | ||||
| void adaptive_sample(RenderWork &render_work); | void adaptive_sample(RenderWork &render_work); | ||||
| void denoise(const RenderWork &render_work); | void denoise(const RenderWork &render_work); | ||||
| void update_display(const RenderWork &render_work); | void update_display(const RenderWork &render_work); | ||||
| void rebalance(const RenderWork &render_work); | |||||
| /* Get number of samples in the current state of the render buffers. */ | /* Get number of samples in the current state of the render buffers. */ | ||||
| int get_num_samples_in_buffer(); | int get_num_samples_in_buffer(); | ||||
| /* Check whether user requested to cancel rendering, so that path tracing is to be finished as | /* Check whether user requested to cancel rendering, so that path tracing is to be finished as | ||||
| * soon as possible. */ | * soon as possible. */ | ||||
| bool is_cancel_requested(); | bool is_cancel_requested(); | ||||
| Show All 13 Lines | protected: | ||||
| RenderScheduler &render_scheduler_; | RenderScheduler &render_scheduler_; | ||||
| unique_ptr<GPUDisplay> gpu_display_; | unique_ptr<GPUDisplay> gpu_display_; | ||||
| /* Per-compute device descriptors of work which is responsible for path tracing on its configured | /* Per-compute device descriptors of work which is responsible for path tracing on its configured | ||||
| * device. */ | * device. */ | ||||
| vector<unique_ptr<PathTraceWork>> path_trace_works_; | vector<unique_ptr<PathTraceWork>> path_trace_works_; | ||||
| /* Per-path trace work information needed for multi-device balancing. */ | |||||
| vector<WorkBalanceInfo> work_balance_infos_; | |||||
| /* Render buffer parameters of the the big tile. */ | /* Render buffer parameters of the the big tile. */ | ||||
| BufferParams big_tile_params_; | BufferParams big_tile_params_; | ||||
| /* Denoiser which takes care of denoising the big tile. */ | /* Denoiser which takes care of denoising the big tile. */ | ||||
| unique_ptr<Denoiser> denoiser_; | unique_ptr<Denoiser> denoiser_; | ||||
| /* State which is common for all the steps of the render work. | /* State which is common for all the steps of the render work. | ||||
| * Is brought up to date in the `render()` call and is accessed from all the steps involved into | * Is brought up to date in the `render()` call and is accessed from all the steps involved into | ||||
| ▲ Show 20 Lines • Show All 43 Lines • Show Last 20 Lines | |||||