diff options
| author | Sakarias Johansson <sakarias.johansson@goodbyekansas.com> | 2023-01-16 20:58:55 +0100 |
|---|---|---|
| committer | Sakarias Johansson <sakarias.johansson@goodbyekansas.com> | 2023-01-16 20:58:55 +0100 |
| commit | 03e5a88f9b7da79749370685e8f5afaf03a25b4a (patch) | |
| tree | 9e0fd5e12bcd9739f5292864c9da9084a0030489 /racer-tracer/src/main.rs | |
| parent | 3167ec992f1f81b2252a2db3642fff943c4f14bf (diff) | |
| download | racer-tracer-03e5a88f9b7da79749370685e8f5afaf03a25b4a.tar.gz racer-tracer-03e5a88f9b7da79749370685e8f5afaf03a25b4a.tar.xz racer-tracer-03e5a88f9b7da79749370685e8f5afaf03a25b4a.zip | |
🎨 Add dialectric material
Diffstat (limited to 'racer-tracer/src/main.rs')
| -rw-r--r-- | racer-tracer/src/main.rs | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/racer-tracer/src/main.rs b/racer-tracer/src/main.rs index d95717d..5331fd1 100644 --- a/racer-tracer/src/main.rs +++ b/racer-tracer/src/main.rs @@ -16,7 +16,7 @@ use std::{ vec::Vec, }; -use material::{lambertian::Lambertian, metal::Metal, Material}; +use material::{dialectric::Dialectric, lambertian::Lambertian, metal::Metal, Material}; use minifb::{Key, Window, WindowOptions}; use synchronoise::SignalEvent; @@ -39,11 +39,11 @@ fn create_scene() -> Scene { let material_ground: SharedMaterial = Arc::new(Box::new(Lambertian::new(Color::new(0.8, 0.8, 0.0)))); let material_center: SharedMaterial = - Arc::new(Box::new(Lambertian::new(Color::new(0.7, 0.3, 0.3)))); - let material_left: SharedMaterial = - Arc::new(Box::new(Metal::new(Color::new(0.8, 0.8, 0.8), 0.3))); + Arc::new(Box::new(Lambertian::new(Color::new(0.1, 0.2, 0.5)))); + let material_left: SharedMaterial = Arc::new(Box::new(Dialectric::new(1.5))); + let material_right: SharedMaterial = - Arc::new(Box::new(Metal::new(Color::new(0.8, 0.6, 0.2), 0.1))); + Arc::new(Box::new(Metal::new(Color::new(0.8, 0.6, 0.2), 0.0))); scene.add(Box::new(Sphere::new( Vec3::new(0.0, -100.5, -1.0), @@ -60,6 +60,13 @@ fn create_scene() -> Scene { 0.5, Arc::clone(&material_left), ))); + + scene.add(Box::new(Sphere::new( + Vec3::new(-1.0, 0.0, -1.0), + -0.4, + Arc::clone(&material_left), + ))); + scene.add(Box::new(Sphere::new( Vec3::new(1.0, 0.0, -1.0), 0.5, |
