void TileManager::reset(BufferParams& params_, int num_samples_) { params = params_; int divider = 1; int w = params.width, h = params.height; if(start_resolution != INT_MAX) { while(w*h > start_resolution*start_resolution) { w = max(1, w/2); h = max(1, h/2); divider *= 2; } } num_samples = num_samples_; state.buffer = BufferParams(); state.sample = range_start_sample - 1; state.num_tiles = 0; state.num_rendered_tiles = 0; state.num_samples = 0; state.resolution_divider = divider; state.tiles.clear(); }
void TileManager::reset(BufferParams& params_, int num_samples_) { params = params_; set_samples(num_samples_); state.buffer = BufferParams(); state.sample = range_start_sample - 1; state.num_tiles = 0; state.num_samples = 0; state.resolution_divider = get_divider(params.width, params.height, start_resolution); state.render_tiles.clear(); state.denoising_tiles.clear(); state.tiles.clear(); }
void TileManager::reset(BufferParams& params_, int samples_) { params = params_; start_resolution = 1; int w = params.width, h = params.height; if(min_size != INT_MAX) { while(w*h > min_size*min_size) { w = max(1, w/2); h = max(1, h/2); start_resolution *= 2; } } samples = samples_; state.buffer = BufferParams(); state.sample = -1; state.resolution = start_resolution; state.tiles.clear(); }