35 const bool *cancel_requested_flag);
66 const int start_sample,
67 const int samples_num,
68 const int sample_offset) = 0;
78 const int num_samples) = 0;
149#if defined(WITH_PATH_GUIDING)
151 virtual void guiding_init_kernel_globals(
void * ,
161 DeviceScene *device_scene,
162 const bool *cancel_requested_flag);
void reset()
clear internal cached data and reset random seed
virtual bool zero_render_buffers()=0
virtual void cryptomatte_postproces()=0
void copy_from_denoised_render_buffers(const RenderBuffers *render_buffers)
PassAccessor::Destination get_display_destination_template(const PathTraceDisplay *display, const PassMode mode) const
RenderBuffers * get_render_buffers()
virtual int adaptive_sampling_converge_filter_count_active(const float threshold, bool reset)=0
unique_ptr< RenderBuffers > buffers_
BufferParams effective_full_params_
virtual bool copy_render_buffers_from_device()=0
static unique_ptr< PathTraceWork > create(Device *device, Film *film, DeviceScene *device_scene, const bool *cancel_requested_flag)
PassAccessor::PassAccessInfo get_display_pass_access_info(PassMode pass_mode) const
BufferParams effective_big_tile_params_
bool get_render_tile_pixels(const PassAccessor &pass_accessor, const PassAccessor::Destination &destination)
virtual void denoise_volume_guiding_buffers()=0
virtual bool copy_render_buffers_to_device()=0
bool has_multiple_works() const
void copy_to_render_buffers(RenderBuffers *render_buffers)
void set_effective_buffer_params(const BufferParams &effective_full_params, const BufferParams &effective_big_tile_params, const BufferParams &effective_buffer_params)
virtual void destroy_gpu_resources(PathTraceDisplay *display)=0
virtual void copy_to_display(PathTraceDisplay *display, PassMode pass_mode, const int num_samples)=0
void copy_from_render_buffers(const RenderBuffers *render_buffers)
BufferParams effective_buffer_params_
virtual void render_samples(RenderStatistics &statistics, const int start_sample, const int samples_num, const int sample_offset)=0
DeviceScene * device_scene_
virtual void init_execution()=0
PathTraceWork(Device *device, Film *film, DeviceScene *device_scene, const bool *cancel_requested_flag)
Device * get_device() const
bool is_cancel_requested() const
const bool * cancel_requested_flag_
bool set_render_tile_pixels(PassAccessor &pass_accessor, const PassAccessor::Source &source)
virtual void alloc_work_memory()
#define CCL_NAMESPACE_END