|
Blender V5.0
|
#include <tile.h>
Public Member Functions | |
| TileManager () | |
| ~TileManager () | |
| TileManager (const TileManager &other)=delete | |
| TileManager (TileManager &&other) noexcept=delete | |
| TileManager & | operator= (const TileManager &other)=delete |
| TileManager & | operator= (TileManager &&other)=delete |
| void | reset_scheduling (const BufferParams ¶ms, const int2 tile_size) |
| void | update (const BufferParams ¶ms, 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 Tile & | get_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_ |
Definition at line 39 of file session/tile.h.
| TileManager::TileManager | ( | ) |
Definition at line 309 of file session/tile.cpp.
References g_instance_index, system_self_process_id(), tile_file_unique_part_, and to_string().
Referenced by operator=(), operator=(), TileManager(), and TileManager().
|
default |
|
delete |
References TileManager().
|
deletenoexcept |
References TileManager().
|
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().
| 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.
| bool TileManager::done | ( | ) |
| void TileManager::finish_write_tiles | ( | ) |
Definition at line 578 of file session/tile.cpp.
References buffer_params_, close_tile_output(), full_buffer_written_cb, get_tile_for_index(), LOG_DEBUG, path_file_size(), string_human_readable_number(), tile, tile_index, tile_size_, tile_state_, and write_state_.
| const Tile & TileManager::get_current_tile | ( | ) | const |
Definition at line 435 of file session/tile.cpp.
References tile_state_.
|
inline |
Definition at line 65 of file session/tile.h.
References tile_state_.
| int2 TileManager::get_size | ( | ) | const |
Definition at line 440 of file session/tile.cpp.
References buffer_params_, and make_int2().
|
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().
|
inline |
Definition at line 75 of file session/tile.h.
References overscan_.
|
inline |
|
inline |
Definition at line 98 of file session/tile.h.
References write_state_.
| bool TileManager::next | ( | ) |
Definition at line 394 of file session/tile.cpp.
References done(), get_tile_for_index(), and tile_state_.
|
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().
|
delete |
References TileManager().
|
delete |
References params, and TileManager().
| bool TileManager::read_full_buffer_from_disk | ( | string_view | filename, |
| RenderBuffers * | buffers, | ||
| DenoiseParams * | denoise_params ) |
Definition at line 628 of file session/tile.cpp.
References ATTR_DENOISE_SOCKET_PREFIX, buffer_params_from_image_spec_atttributes(), buffers, filename, image_spec, in, LOG_ERROR, and node_from_image_spec_atttributes().
| 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_.
| void TileManager::set_temp_dir | ( | const string & | temp_dir | ) |
Definition at line 384 of file session/tile.cpp.
References temp_dir_.
| void TileManager::update | ( | const BufferParams & | params, |
| const Scene * | scene ) |
Definition at line 352 of file session/tile.cpp.
References ATTR_DENOISE_SOCKET_PREFIX, Scene::bake_manager, buffer_params_, configure_image_spec_from_buffer(), DCHECK_NE, Integrator::get_adaptive_sampling(), Integrator::get_denoise_params(), has_multiple_tiles(), Scene::integrator, node_to_image_spec_atttributes(), overscan_, params, tile_size_, AdaptiveSampling::use, and write_state_.
| bool TileManager::write_tile | ( | const RenderBuffers & | tile_buffers | ) |
Definition at line 494 of file session/tile.cpp.
References RenderBuffers::buffer, buffer_params_, device_vector< T >::data(), DCHECK_EQ, float, BufferParams::full_x, BufferParams::full_y, BufferParams::height, i, LOG_DEBUG, LOG_ERROR, open_tile_output(), RenderBuffers::params, BufferParams::pass_stride, time_dt(), BufferParams::width, BufferParams::window_height, BufferParams::window_width, BufferParams::window_x, BufferParams::window_y, and write_state_.
|
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().
| Tile TileManager::current_tile |
Definition at line 151 of file session/tile.h.
| string TileManager::filename |
Definition at line 162 of file session/tile.h.
Referenced by read_full_buffer_from_disk().
| std::function<void(string_view)> TileManager::full_buffer_written_cb |
Definition at line 42 of file session/tile.h.
Referenced by finish_write_tiles().
| ImageSpec TileManager::image_spec |
Definition at line 169 of file session/tile.h.
Referenced by read_full_buffer_from_disk().
|
static |
Definition at line 114 of file session/tile.h.
Referenced by compute_render_tile_size(), and configure_image_spec_from_buffer().
|
static |
Definition at line 120 of file session/tile.h.
Referenced by compute_render_tile_size(), and Session::get_effective_tile_size().
| int TileManager::next_tile_index |
Definition at line 149 of file session/tile.h.
| int TileManager::num_tiles = 0 |
Definition at line 147 of file session/tile.h.
| int TileManager::num_tiles_written = 0 |
Definition at line 177 of file session/tile.h.
| int TileManager::num_tiles_x = 0 |
Definition at line 145 of file session/tile.h.
| int TileManager::num_tiles_y = 0 |
Definition at line 146 of file session/tile.h.
|
protected |
Definition at line 139 of file session/tile.h.
Referenced by get_tile_for_index(), get_tile_overscan(), and update().
|
protected |
Definition at line 130 of file session/tile.h.
Referenced by open_tile_output(), and set_temp_dir().
| int TileManager::tile_file_index = 0 |
Definition at line 160 of file session/tile.h.
|
protected |
Definition at line 134 of file session/tile.h.
Referenced by open_tile_output(), and TileManager().
| unique_ptr<ImageOutput> TileManager::tile_out |
Definition at line 175 of file session/tile.h.
Definition at line 136 of file session/tile.h.
Referenced by finish_write_tiles(), get_tile_for_index(), reset_scheduling(), and update().
| struct { ... } TileManager::tile_state_ |
Referenced by done(), finish_write_tiles(), get_current_tile(), get_num_tiles(), get_tile_for_index(), has_multiple_tiles(), next(), and reset_scheduling().
| struct { ... } TileManager::write_state_ |
Referenced by close_tile_output(), finish_write_tiles(), has_written_tiles(), open_tile_output(), update(), and write_tile().