diff --git a/Cargo.lock b/Cargo.lock index 2c46dbd..7f2d519 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -40,37 +40,6 @@ dependencies = [ "libc", ] -[[package]] -name = "crossbeam-deque" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" - -[[package]] -name = "either" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" - [[package]] name = "equivalent" version = "1.0.2" @@ -217,32 +186,11 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" -[[package]] -name = "rayon" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - [[package]] name = "rust-ray" version = "0.1.0" dependencies = [ "rand", - "rayon", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index e154253..a637a3c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,4 +5,3 @@ edition = "2024" [dependencies] rand = "0.10.0" -rayon = "1.11.0" diff --git a/src/main.rs b/src/main.rs index ec56fc9..73e125f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,11 +14,9 @@ use std::sync::Arc; fn main() { let aspect_ratio = 16.0 / 9.0; - let image_width = 800; + let image_width = 1920; let focal_length = 1.0; let viewport_height = 2.0; - let camera_center = Point3::new(0.0, 0.0, 0.0); - let m = Lambertian::new(Vec3::new(0.5,0.5,0.5)); let world_m: Arc = Arc::new(m); @@ -29,11 +27,10 @@ fn main() { let m = Metal::new(Vec3::new(0.8, 0.8, 0.8), 0.3); let left_m: Arc = Arc::new(m); - let m = Metal::new(Vec3::new(0.8, 0.6, 0.2), 0.5); let right_m: Arc = Arc::new(m); - let mut camera = Camera::new(aspect_ratio,image_width,focal_length,Point3::new(-2.0,2.0,1.0),Point3::new(0.0,0.0,-1.0),90.0); + let mut camera = Camera::new(aspect_ratio,image_width,focal_length,Point3::new(-1.0,1.0,1.0),Point3::new(0.0,0.0,-1.0),90.0); let mut world = World::new(); world.add(Sphere::new(0.5, Point3::new(0.0, 0.0, -1.0),center_m)); world.add(Sphere::new(0.5, Point3::new(-1.0, 0.0, -1.0),left_m)); diff --git a/src/render.rs b/src/render.rs index c3aa5a8..f4477e5 100644 --- a/src/render.rs +++ b/src/render.rs @@ -82,7 +82,7 @@ impl Camera { let height = self.img.height; let width = self.img.width; let total_pixels = height*width; - let num_samples = 5; + let num_samples = 25; //cast to const ref let const_self = &*self; @@ -97,8 +97,8 @@ impl Camera { let x = i%width; let y = i/width; let (mut r,mut g,mut b) = (0.0,0.0,0.0); - let ray = const_self.get_ray(x,y,&mut rng); for _ in 0..num_samples{ + let ray = const_self.get_ray(x,y,&mut rng); let (tr,tg,tb) = trace(ray, &world,10,&mut rng); r+=tr; g+=tg;