Blender V5.0
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, const 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
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

std::function< void(string_view)> full_buffer_written_cb

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 (const 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 39 of file session/tile.h.

Constructor & Destructor Documentation

◆ TileManager() [1/3]

TileManager::TileManager ( )

◆ ~TileManager()

TileManager::~TileManager ( )
default

◆ TileManager() [2/3]

TileManager::TileManager ( const TileManager & other)
delete

References TileManager().

◆ TileManager() [3/3]

TileManager::TileManager ( TileManager && other)
deletenoexcept

References TileManager().

Member Function Documentation

◆ close_tile_output()

bool TileManager::close_tile_output ( )
protected

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

References LOG_DEBUG, LOG_ERROR, 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 324 of file session/tile.cpp.

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

◆ done()

bool TileManager::done ( )

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

References tile_state_.

Referenced by next().

◆ finish_write_tiles()

◆ get_current_tile()

const Tile & TileManager::get_current_tile ( ) const

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

References tile_state_.

◆ get_num_tiles()

int TileManager::get_num_tiles ( ) const
inline

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

References tile_state_.

◆ get_size()

int2 TileManager::get_size ( ) const

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

References buffer_params_, and make_int2().

◆ get_tile_for_index()

Tile TileManager::get_tile_for_index ( const int index) const
protected

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

References buffer_params_, max, min, overscan_, tile, tile_size_, and tile_state_.

Referenced by finish_write_tiles(), and next().

◆ get_tile_overscan()

int TileManager::get_tile_overscan ( ) const
inline

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

References overscan_.

◆ has_multiple_tiles()

bool TileManager::has_multiple_tiles ( ) const
inline

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

References tile_state_.

Referenced by update().

◆ has_written_tiles()

bool TileManager::has_written_tiles ( ) const
inline

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

References write_state_.

◆ next()

bool TileManager::next ( )

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

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

◆ open_tile_output()

bool TileManager::open_tile_output ( )
protected

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

References LOG_DEBUG, LOG_ERROR, path_join(), temp_dir_, tile_file_unique_part_, to_string(), and write_state_.

Referenced by write_tile().

◆ operator=() [1/2]

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

References TileManager().

◆ operator=() [2/2]

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

References params, and TileManager().

◆ 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,
const int2 tile_size )

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

References close_tile_output(), divide_up(), LOG_DEBUG, params, tile_size_, and tile_state_.

◆ set_temp_dir()

void TileManager::set_temp_dir ( const string & temp_dir)

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

References temp_dir_.

◆ update()

◆ write_tile()

Member Data Documentation

◆ buffer_params_

BufferParams TileManager::buffer_params_
protected

Definition at line 141 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 151 of file session/tile.h.

◆ filename

string TileManager::filename

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

Referenced by read_full_buffer_from_disk().

◆ full_buffer_written_cb

std::function<void(string_view)> TileManager::full_buffer_written_cb

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

Referenced by finish_write_tiles().

◆ image_spec

ImageSpec TileManager::image_spec

Definition at line 169 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 114 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 120 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 149 of file session/tile.h.

◆ num_tiles

int TileManager::num_tiles = 0

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

◆ num_tiles_written

int TileManager::num_tiles_written = 0

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

◆ num_tiles_x

int TileManager::num_tiles_x = 0

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

◆ num_tiles_y

int TileManager::num_tiles_y = 0

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

◆ overscan_

int TileManager::overscan_ = 0
protected

Definition at line 139 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 130 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 160 of file session/tile.h.

◆ tile_file_unique_part_

string TileManager::tile_file_unique_part_
protected

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

Referenced by open_tile_output(), and TileManager().

◆ tile_out

unique_ptr<ImageOutput> TileManager::tile_out

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

◆ tile_size_

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

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

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

◆ [struct]

◆ [struct]

struct { ... } TileManager::write_state_

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