Ejemplo n.º 1
0
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();
}
Ejemplo n.º 2
0
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();
}
Ejemplo n.º 3
0
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();
}