From 14f7b47f2c2315d0de5e52d31c57fe07a15d08ad Mon Sep 17 00:00:00 2001 From: Julian T Date: Fri, 12 Feb 2021 23:33:50 +0100 Subject: Implement multithreaded compiling of tiles --- src/main.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 215e0d4..0f6502e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,7 +6,7 @@ use rendering::render::{RenderContext, RenderCoord}; use rendering::sample::UniformSampler; use rendering::material::{Reflectant, Lambertian}; -use std::rc::Rc; +use std::sync::Arc; fn main() { let res = Vector2i::new_xy(500, 500); @@ -21,9 +21,9 @@ fn main() { aperture: Some(20.0), }); - let brown = Rc::new(Lambertian::new(Spectrum::new_rgb(0.5, 0.3, 0.0))); - let blue = Rc::new(Lambertian::new(Spectrum::new_rgb(0.0, 0.3, 0.7))); - let metal = Rc::new(Reflectant::new(Spectrum::new_rgb(0.75, 0.75, 0.75), None)); + let brown = Arc::new(Lambertian::new(Spectrum::new_rgb(0.5, 0.3, 0.0))); + let blue = Arc::new(Lambertian::new(Spectrum::new_rgb(0.0, 0.3, 0.7))); + let metal = Arc::new(Reflectant::new(Spectrum::new_rgb(0.75, 0.75, 0.75), None)); let mut scn = Scene::new(); scn.add_objects(vec![ @@ -40,9 +40,9 @@ fn main() { let mut film = Film::new(res); { - let coord = RenderCoord::new(&mut film, Vector2i::new_xy(32, 32), 100); + let coord = RenderCoord::new(&mut film, Vector2i::new_xy(32, 32), 300); - coord.work(&ctx, &mut sampler); + coord.run_threaded(&ctx, &mut sampler, 8); } let image = film.finalize_image(); -- cgit v1.2.3