Blender  V3.3
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PathTraceWork Class Referenceabstract

#include <path_trace_work.h>

Inheritance diagram for PathTraceWork:
PathTraceWorkCPU PathTraceWorkGPU

Classes

struct  RenderStatistics
 

Public Member Functions

virtual ~PathTraceWork ()
 
RenderBuffersget_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, int start_sample, int samples_num, int sample_offset)=0
 
virtual void copy_to_display (PathTraceDisplay *display, PassMode pass_mode, 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 (float threshold, bool reset)=0
 
virtual void cryptomatte_postproces ()=0
 
bool is_cancel_requested () const
 
Deviceget_device () const
 

Static Public Member Functions

static unique_ptr< PathTraceWorkcreate (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

Devicedevice_
 
Filmfilm_
 
DeviceScenedevice_scene_
 
unique_ptr< RenderBuffersbuffers_
 
BufferParams effective_full_params_
 
BufferParams effective_big_tile_params_
 
BufferParams effective_buffer_params_
 
boolcancel_requested_flag_ = nullptr
 

Detailed Description

Definition at line 21 of file path_trace_work.h.

Constructor & Destructor Documentation

◆ ~PathTraceWork()

PathTraceWork::~PathTraceWork ( )
virtual

Definition at line 47 of file path_trace_work.cpp.

◆ PathTraceWork()

PathTraceWork::PathTraceWork ( Device device,
Film film,
DeviceScene device_scene,
bool cancel_requested_flag 
)
protected

Definition at line 34 of file path_trace_work.cpp.

Member Function Documentation

◆ adaptive_sampling_converge_filter_count_active()

virtual int PathTraceWork::adaptive_sampling_converge_filter_count_active ( float  threshold,
bool  reset 
)
pure virtual

Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.

◆ alloc_work_memory()

virtual void PathTraceWork::alloc_work_memory ( )
inlinevirtual

Reimplemented in PathTraceWorkGPU.

Definition at line 54 of file path_trace_work.h.

◆ copy_from_denoised_render_buffers()

void PathTraceWork::copy_from_denoised_render_buffers ( const RenderBuffers render_buffers)

◆ copy_from_render_buffers()

void PathTraceWork::copy_from_render_buffers ( const RenderBuffers render_buffers)

◆ copy_render_buffers_from_device()

virtual bool PathTraceWork::copy_render_buffers_from_device ( )
pure virtual

Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.

Referenced by copy_to_render_buffers().

◆ copy_render_buffers_to_device()

virtual bool PathTraceWork::copy_render_buffers_to_device ( )
pure virtual

◆ copy_to_display()

virtual void PathTraceWork::copy_to_display ( PathTraceDisplay display,
PassMode  pass_mode,
int  num_samples 
)
pure virtual

Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.

◆ copy_to_render_buffers()

void PathTraceWork::copy_to_render_buffers ( RenderBuffers render_buffers)

◆ create()

CCL_NAMESPACE_BEGIN unique_ptr< PathTraceWork > PathTraceWork::create ( Device device,
Film film,
DeviceScene device_scene,
bool cancel_requested_flag 
)
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().

◆ cryptomatte_postproces()

virtual void PathTraceWork::cryptomatte_postproces ( )
pure virtual

Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.

◆ destroy_gpu_resources()

virtual void PathTraceWork::destroy_gpu_resources ( PathTraceDisplay display)
pure virtual

Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.

◆ get_device()

Device* PathTraceWork::get_device ( ) const
inline

Definition at line 138 of file path_trace_work.h.

References device_.

◆ get_display_destination_template()

PassAccessor::Destination PathTraceWork::get_display_destination_template ( const PathTraceDisplay display) const
protected

◆ get_display_pass_access_info()

PassAccessor::PassAccessInfo PathTraceWork::get_display_pass_access_info ( PassMode  pass_mode) const
protected

◆ get_render_buffers()

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().

◆ get_render_tile_pixels()

bool PathTraceWork::get_render_tile_pixels ( const PassAccessor pass_accessor,
const PassAccessor::Destination destination 
)

◆ has_multiple_works()

bool PathTraceWork::has_multiple_works ( ) const

◆ init_execution()

virtual void PathTraceWork::init_execution ( )
pure virtual

Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.

◆ is_cancel_requested()

bool PathTraceWork::is_cancel_requested ( ) const
inline

◆ render_samples()

virtual void PathTraceWork::render_samples ( RenderStatistics statistics,
int  start_sample,
int  samples_num,
int  sample_offset 
)
pure virtual

Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.

Referenced by PathTrace::path_trace().

◆ set_effective_buffer_params()

void PathTraceWork::set_effective_buffer_params ( const BufferParams effective_full_params,
const BufferParams effective_big_tile_params,
const BufferParams effective_buffer_params 
)

◆ set_render_tile_pixels()

bool PathTraceWork::set_render_tile_pixels ( PassAccessor pass_accessor,
const PassAccessor::Source source 
)

◆ zero_render_buffers()

virtual bool PathTraceWork::zero_render_buffers ( )
pure virtual

Implemented in PathTraceWorkGPU, and PathTraceWorkCPU.

Member Data Documentation

◆ buffers_

unique_ptr<RenderBuffers> PathTraceWork::buffers_
protected

◆ cancel_requested_flag_

bool* PathTraceWork::cancel_requested_flag_ = nullptr
protected

Definition at line 179 of file path_trace_work.h.

Referenced by is_cancel_requested().

◆ device_

Device* PathTraceWork::device_
protected

◆ device_scene_

DeviceScene* PathTraceWork::device_scene_
protected

◆ effective_big_tile_params_

BufferParams PathTraceWork::effective_big_tile_params_
protected

◆ effective_buffer_params_

BufferParams PathTraceWork::effective_buffer_params_
protected

◆ effective_full_params_

BufferParams PathTraceWork::effective_full_params_
protected

Definition at line 175 of file path_trace_work.h.

Referenced by set_effective_buffer_params().

◆ film_

Film* PathTraceWork::film_
protected

The documentation for this class was generated from the following files: