21 lines
707 B
Rust
21 lines
707 B
Rust
use crate::core::sampler::SamplerFactory;
|
|
use crate::utils::{FileLoc, ParameterDictionary};
|
|
use shared::core::geometry::Point2i;
|
|
use shared::core::sampler::IndependentSampler;
|
|
|
|
impl SamplerFactory for IndependentSampler {
|
|
fn create(
|
|
params: &ParameterDictionary,
|
|
_full_res: Point2i,
|
|
_loc: &FileLoc,
|
|
) -> Result<Self, String> {
|
|
let options = get_options();
|
|
let nsamp = options
|
|
.quick_render
|
|
.then_some(1)
|
|
.or(options.pixel_samples)
|
|
.unwrap_or_else(|| params.get_one_int("pixelsamples", 16));
|
|
let seed = params.get_one_int("seed", options.seed);
|
|
Ok(Self::new(nsamp as usize, seed as u64))
|
|
}
|
|
}
|