|
Blender
V2.93
|
#include <tile.h>
Classes | |
| struct | State |
Public Member Functions | |
| TileManager (bool progressive, int num_samples, int2 tile_size, int start_resolution, bool preserve_tile_device, bool background, TileOrder tile_order, int num_devices=1, int pixel_size=1) | |
| ~TileManager () | |
| void | device_free () |
| void | reset (BufferParams ¶ms, int num_samples) |
| void | set_samples (int num_samples) |
| bool | next () |
| bool | next_tile (Tile *&tile, int device, uint tile_types) |
| bool | finish_tile (const int index, const bool need_denoise, bool &delete_tile) |
| bool | done () |
| bool | has_tiles () |
| void | set_tile_order (TileOrder tile_order_) |
| int | get_neighbor_index (int index, int neighbor) |
| bool | check_neighbor_state (int index, Tile::State state) |
| int | get_num_effective_samples () |
Public Attributes | |
| BufferParams | params |
| struct TileManager::State | state |
| int | num_samples |
| int | slice_overlap |
| int | range_start_sample |
| int | range_num_samples |
| bool | schedule_denoising |
Protected Member Functions | |
| void | set_tiles () |
| int | gen_tiles (bool sliced) |
| void | gen_render_tiles () |
Protected Attributes | |
| bool | progressive |
| int2 | tile_size |
| TileOrder | tile_order |
| int | start_resolution |
| int | pixel_size |
| int | num_devices |
| bool | preserve_tile_device |
| bool | background |
| TileManager::TileManager | ( | bool | progressive, |
| int | num_samples, | ||
| int2 | tile_size, | ||
| int | start_resolution, | ||
| bool | preserve_tile_device, | ||
| bool | background, | ||
| TileOrder | tile_order, | ||
| int | num_devices = 1, |
||
| int | pixel_size = 1 |
||
| ) |
Definition at line 89 of file tile.cpp.
References background, num_devices, num_samples, pixel_size, preserve_tile_device, progressive, range_num_samples, range_start_sample, reset(), schedule_denoising, slice_overlap, start_resolution, tile_order, and tile_size.
| bool TileManager::check_neighbor_state | ( | int | index, |
| Tile::State | state | ||
| ) |
Definition at line 426 of file tile.cpp.
References get_neighbor_index(), state, and TileManager::State::tiles.
Referenced by finish_tile().
| void TileManager::device_free | ( | ) |
Definition at line 122 of file tile.cpp.
References NULL, progressive, schedule_denoising, state, and TileManager::State::tiles.
Referenced by Session::device_free(), gen_tiles(), reset(), and Session::~Session().
| bool TileManager::done | ( | ) |
Definition at line 559 of file tile.cpp.
References TileManager::State::num_samples, num_samples, pixel_size, range_num_samples, range_start_sample, TileManager::State::resolution_divider, TileManager::State::sample, and state.
Referenced by next(), Session::render_need_denoise(), and Session::run_gpu().
| bool TileManager::finish_tile | ( | const int | index, |
| const bool | need_denoise, | ||
| bool & | delete_tile | ||
| ) |
Definition at line 444 of file tile.cpp.
References check_neighbor_state(), Tile::DENOISE, Tile::DENOISED, TileManager::State::denoising_tiles, Tile::DONE, get_neighbor_index(), NULL, progressive, Tile::RENDER, Tile::RENDERED, schedule_denoising, state, and TileManager::State::tiles.
Referenced by Session::release_tile().
|
protected |
Definition at line 368 of file tile.cpp.
References Tile::device, Tile::index, Tile::RENDER, TileManager::State::render_tiles, Tile::state, state, and TileManager::State::tiles.
Referenced by next().
|
protected |
Definition at line 198 of file tile.cpp.
References center, TileManager::State::denoising_tiles, device_free(), CCL_NAMESPACE_BEGIN::DIRECTION_DOWN, CCL_NAMESPACE_BEGIN::DIRECTION_LEFT, CCL_NAMESPACE_BEGIN::DIRECTION_RIGHT, CCL_NAMESPACE_BEGIN::DIRECTION_UP, divide_up(), BufferParams::height, CCL_NAMESPACE_BEGIN::hilbert_index_to_pos(), make_int2, max, min, num_devices, params, pos, preserve_tile_device, Tile::RENDER, TileManager::State::render_tiles, TileManager::State::resolution_divider, slice_overlap, state, TILE_BOTTOM_TO_TOP, TILE_HILBERT_SPIRAL, tile_order, tile_size, TileManager::State::tile_stride, TileManager::State::tiles, w(), BufferParams::width, int2::x, x, int2::y, and y.
Referenced by set_tiles().
| int TileManager::get_neighbor_index | ( | int | index, |
| int | neighbor | ||
| ) |
Definition at line 394 of file tile.cpp.
References background, divide_up(), BufferParams::height, max, min, num_devices, ny, params, TileManager::State::resolution_divider, state, tile_size, TileManager::State::tile_stride, BufferParams::width, int2::x, and int2::y.
Referenced by check_neighbor_state(), finish_tile(), and Session::map_neighbor_tiles().
| int TileManager::get_num_effective_samples | ( | ) |
Definition at line 611 of file tile.cpp.
References num_samples, and range_num_samples.
Referenced by Session::reset_(), set_samples(), and Session::update_status_time().
| bool TileManager::has_tiles | ( | ) |
Definition at line 567 of file tile.cpp.
References Tile::DONE, Tile::state, state, and TileManager::State::tiles.
Referenced by Session::acquire_tile().
| bool TileManager::next | ( | ) |
Definition at line 577 of file tile.cpp.
References done(), gen_render_tiles(), max, TileManager::State::num_samples, num_samples, pixel_size, progressive, range_num_samples, range_start_sample, TileManager::State::resolution_divider, TileManager::State::sample, set_tiles(), and state.
Referenced by Session::run_cpu(), and Session::run_gpu().
Definition at line 498 of file tile.cpp.
References RenderTile::DENOISE, TileManager::State::denoising_tiles, num_devices, RenderTile::PATH_TRACE, preserve_tile_device, TileManager::State::render_tiles, state, and TileManager::State::tiles.
Referenced by Session::acquire_tile().
| void TileManager::reset | ( | BufferParams & | params, |
| int | num_samples | ||
| ) |
Definition at line 148 of file tile.cpp.
References TileManager::State::buffer, TileManager::State::denoising_tiles, device_free(), get_divider(), BufferParams::height, TileManager::State::num_samples, TileManager::State::num_tiles, params, range_start_sample, TileManager::State::render_tiles, TileManager::State::resolution_divider, TileManager::State::sample, set_samples(), start_resolution, state, and BufferParams::width.
Referenced by Session::reset_(), and TileManager().
| void TileManager::set_samples | ( | int | num_samples | ) |
Definition at line 164 of file tile.cpp.
References get_divider(), get_num_effective_samples(), BufferParams::height, max, num_samples, params, pixel_size, schedule_denoising, start_resolution, state, TileManager::State::total_pixel_samples, and BufferParams::width.
Referenced by BlenderSession::bake(), reset(), and Session::set_samples().
|
inline |
Definition at line 114 of file tile.h.
References tile_order.
Referenced by BlenderSession::reset_session().
|
protected |
Definition at line 377 of file tile.cpp.
References background, TileManager::State::buffer, BufferParams::full_height, BufferParams::full_width, BufferParams::full_x, BufferParams::full_y, gen_tiles(), BufferParams::height, max, TileManager::State::num_tiles, params, TileManager::State::resolution_divider, state, and BufferParams::width.
Referenced by next().
|
protected |
Definition at line 163 of file tile.h.
Referenced by get_neighbor_index(), set_tiles(), and TileManager().
|
protected |
Definition at line 144 of file tile.h.
Referenced by gen_tiles(), get_neighbor_index(), next_tile(), and TileManager().
| int TileManager::num_samples |
Definition at line 91 of file tile.h.
Referenced by done(), get_num_effective_samples(), next(), set_samples(), TileManager(), Session::update_progressive_refine(), Session::update_scene(), and Session::update_status_time().
| BufferParams TileManager::params |
Definition at line 69 of file tile.h.
Referenced by Session::acquire_tile(), BlenderSession::do_write_update_render_tile(), gen_tiles(), get_neighbor_index(), reset(), Session::reset_(), Session::run_cpu(), Session::run_gpu(), set_samples(), set_tiles(), and Session::update_scene().
|
protected |
Definition at line 143 of file tile.h.
Referenced by done(), next(), set_samples(), and TileManager().
|
protected |
Definition at line 153 of file tile.h.
Referenced by gen_tiles(), next_tile(), and TileManager().
|
protected |
Definition at line 139 of file tile.h.
Referenced by device_free(), finish_tile(), next(), and TileManager().
| int TileManager::range_num_samples |
Definition at line 128 of file tile.h.
Referenced by done(), get_num_effective_samples(), next(), BlenderSession::stamp_view_layer_metadata(), TileManager(), and BlenderSession::update_resumable_tile_manager().
| int TileManager::range_start_sample |
Definition at line 125 of file tile.h.
Referenced by Session::acquire_tile(), BlenderSession::do_write_update_render_result(), done(), next(), Session::render(), reset(), BlenderSession::stamp_view_layer_metadata(), TileManager(), and BlenderSession::update_resumable_tile_manager().
| bool TileManager::schedule_denoising |
Definition at line 134 of file tile.h.
Referenced by device_free(), finish_tile(), Session::map_neighbor_tiles(), Session::render(), Session::set_denoising(), set_samples(), and TileManager().
| int TileManager::slice_overlap |
Definition at line 92 of file tile.h.
Referenced by gen_tiles(), Session::map_neighbor_tiles(), Session::set_denoising(), and TileManager().
|
protected |
Definition at line 142 of file tile.h.
Referenced by reset(), set_samples(), and TileManager().
| struct TileManager::State TileManager::state |
Referenced by Session::acquire_tile(), check_neighbor_state(), Session::copy_to_display_buffer(), device_free(), done(), Session::draw_gpu(), finish_tile(), gen_render_tiles(), gen_tiles(), get_neighbor_index(), has_tiles(), Session::map_neighbor_tiles(), next(), next_tile(), Session::release_tile(), Session::render(), Session::render_need_denoise(), reset(), Session::reset_(), Session::run_cpu(), set_samples(), set_tiles(), Session::update_progressive_refine(), Session::update_scene(), and Session::update_status_time().
|
protected |
Definition at line 141 of file tile.h.
Referenced by gen_tiles(), set_tile_order(), and TileManager().
|
protected |
Definition at line 140 of file tile.h.
Referenced by gen_tiles(), get_neighbor_index(), and TileManager().