Blender  V3.3
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
TileManager Class Reference

#include <tile.h>

Public Member Functions

 TileManager ()
 
 ~TileManager ()
 
 TileManager (const TileManager &other)=delete
 
 TileManager (TileManager &&other) noexcept=delete
 
TileManageroperator= (const TileManager &other)=delete
 
TileManageroperator= (TileManager &&other)=delete
 
void reset_scheduling (const BufferParams &params, int2 tile_size)
 
void update (const BufferParams &params, const Scene *scene)
 
void set_temp_dir (const string &temp_dir)
 
int get_num_tiles () const
 
bool has_multiple_tiles () const
 
int get_tile_overscan () const
 
bool next ()
 
bool done ()
 
const Tileget_current_tile () const
 
const int2 get_size () const
 
bool write_tile (const RenderBuffers &tile_buffers)
 
void finish_write_tiles ()
 
bool has_written_tiles () const
 
bool read_full_buffer_from_disk (string_view filename, RenderBuffers *buffers, DenoiseParams *denoise_params)
 
int compute_render_tile_size (const int suggested_tile_size) const
 

Public Attributes

function< void(string_view)> full_buffer_written_cb
 
int num_tiles_x = 0
 
int num_tiles_y = 0
 
int num_tiles = 0
 
int next_tile_index
 
Tile current_tile
 
int tile_file_index = 0
 
string filename
 
ImageSpec image_spec
 
unique_ptr< ImageOutput > tile_out
 
int num_tiles_written = 0
 

Static Public Attributes

static const int IMAGE_TILE_SIZE = 128
 
static const int MAX_TILE_SIZE = 8192
 

Protected Member Functions

Tile get_tile_for_index (int index) const
 
bool open_tile_output ()
 
bool close_tile_output ()
 

Protected Attributes

string temp_dir_
 
string tile_file_unique_part_
 
int2 tile_size_ = make_int2(0, 0)
 
int overscan_ = 0
 
BufferParams buffer_params_
 
struct {
   int   num_tiles_x = 0
 
   int   num_tiles_y = 0
 
   int   num_tiles = 0
 
   int   next_tile_index
 
   Tile   current_tile
 
tile_state_
 
struct {
   int   tile_file_index = 0
 
   string   filename
 
   ImageSpec   image_spec
 
   unique_ptr< ImageOutput >   tile_out
 
   int   num_tiles_written = 0
 
write_state_
 

Detailed Description

Definition at line 37 of file session/tile.h.

Constructor & Destructor Documentation

◆ TileManager() [1/3]

TileManager::TileManager ( )

◆ ~TileManager()

TileManager::~TileManager ( )

Definition at line 322 of file session/tile.cpp.

◆ TileManager() [2/3]

TileManager::TileManager ( const TileManager other)
delete

◆ TileManager() [3/3]

TileManager::TileManager ( TileManager &&  other)
deletenoexcept

Member Function Documentation

◆ close_tile_output()

bool TileManager::close_tile_output ( )
protected

Definition at line 477 of file session/tile.cpp.

References LOG, VLOG_WORK, and write_state_.

Referenced by finish_write_tiles(), and reset_scheduling().

◆ compute_render_tile_size()

int TileManager::compute_render_tile_size ( const int  suggested_tile_size) const

Definition at line 326 of file session/tile.cpp.

References align_up(), IMAGE_TILE_SIZE, MAX_TILE_SIZE, and min.

Referenced by Session::get_effective_tile_size().

◆ done()

bool TileManager::done ( )

Definition at line 391 of file session/tile.cpp.

References tile_state_.

Referenced by next(), and RenderScheduler::set_full_frame_render_work().

◆ finish_write_tiles()

void TileManager::finish_write_tiles ( )

◆ get_current_tile()

const Tile & TileManager::get_current_tile ( ) const

◆ get_num_tiles()

int TileManager::get_num_tiles ( ) const
inline

Definition at line 63 of file session/tile.h.

References tile_state_.

Referenced by Session::update_status_time().

◆ get_size()

const int2 TileManager::get_size ( ) const

◆ get_tile_for_index()

Tile TileManager::get_tile_for_index ( int  index) const
protected

◆ get_tile_overscan()

int TileManager::get_tile_overscan ( ) const
inline

◆ has_multiple_tiles()

bool TileManager::has_multiple_tiles ( ) const
inline

◆ has_written_tiles()

bool TileManager::has_written_tiles ( ) const
inline

Definition at line 96 of file session/tile.h.

References write_state_.

Referenced by PathTrace::finalize_full_buffer_on_disk().

◆ next()

bool TileManager::next ( )

Definition at line 396 of file session/tile.cpp.

References done(), get_tile_for_index(), and tile_state_.

Referenced by Session::run_update_for_next_iteration().

◆ open_tile_output()

bool TileManager::open_tile_output ( )
protected

◆ operator=() [1/2]

TileManager& TileManager::operator= ( const TileManager other)
delete

◆ operator=() [2/2]

TileManager& TileManager::operator= ( TileManager &&  other)
delete

◆ read_full_buffer_from_disk()

bool TileManager::read_full_buffer_from_disk ( string_view  filename,
RenderBuffers buffers,
DenoiseParams denoise_params 
)

◆ reset_scheduling()

void TileManager::reset_scheduling ( const BufferParams params,
int2  tile_size 
)

◆ set_temp_dir()

void TileManager::set_temp_dir ( const string &  temp_dir)

Definition at line 386 of file session/tile.cpp.

References temp_dir_.

Referenced by Session::do_delayed_reset().

◆ update()

void TileManager::update ( const BufferParams params,
const Scene scene 
)

◆ write_tile()

bool TileManager::write_tile ( const RenderBuffers tile_buffers)

Member Data Documentation

◆ buffer_params_

BufferParams TileManager::buffer_params_
protected

Definition at line 139 of file session/tile.h.

Referenced by finish_write_tiles(), get_size(), get_tile_for_index(), update(), and write_tile().

◆ current_tile

Tile TileManager::current_tile

Definition at line 149 of file session/tile.h.

◆ filename

string TileManager::filename

Definition at line 160 of file session/tile.h.

Referenced by read_full_buffer_from_disk().

◆ full_buffer_written_cb

function<void(string_view)> TileManager::full_buffer_written_cb

Definition at line 40 of file session/tile.h.

Referenced by finish_write_tiles(), and Session::Session().

◆ image_spec

ImageSpec TileManager::image_spec

Definition at line 167 of file session/tile.h.

Referenced by read_full_buffer_from_disk().

◆ IMAGE_TILE_SIZE

const int TileManager::IMAGE_TILE_SIZE = 128
static

Definition at line 112 of file session/tile.h.

Referenced by compute_render_tile_size(), and configure_image_spec_from_buffer().

◆ MAX_TILE_SIZE

const int TileManager::MAX_TILE_SIZE = 8192
static

Definition at line 118 of file session/tile.h.

Referenced by compute_render_tile_size(), and Session::get_effective_tile_size().

◆ next_tile_index

int TileManager::next_tile_index

Definition at line 147 of file session/tile.h.

◆ num_tiles

int TileManager::num_tiles = 0

Definition at line 145 of file session/tile.h.

◆ num_tiles_written

int TileManager::num_tiles_written = 0

Definition at line 175 of file session/tile.h.

◆ num_tiles_x

int TileManager::num_tiles_x = 0

Definition at line 143 of file session/tile.h.

◆ num_tiles_y

int TileManager::num_tiles_y = 0

Definition at line 144 of file session/tile.h.

◆ overscan_

int TileManager::overscan_ = 0
protected

Definition at line 137 of file session/tile.h.

Referenced by get_tile_for_index(), get_tile_overscan(), and update().

◆ temp_dir_

string TileManager::temp_dir_
protected

Definition at line 128 of file session/tile.h.

Referenced by open_tile_output(), and set_temp_dir().

◆ tile_file_index

int TileManager::tile_file_index = 0

Definition at line 158 of file session/tile.h.

◆ tile_file_unique_part_

string TileManager::tile_file_unique_part_
protected

Definition at line 132 of file session/tile.h.

Referenced by open_tile_output(), and TileManager().

◆ tile_out

unique_ptr<ImageOutput> TileManager::tile_out

Definition at line 173 of file session/tile.h.

◆ tile_size_

int2 TileManager::tile_size_ = make_int2(0, 0)
protected

Definition at line 134 of file session/tile.h.

Referenced by finish_write_tiles(), get_tile_for_index(), reset_scheduling(), and update().

◆ 

struct { ... } TileManager::tile_state_

◆ 

struct { ... } TileManager::write_state_

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