summaryrefslogtreecommitdiff
path: root/racer-tracer/src/main.rs
diff options
context:
space:
mode:
authorSakarias Johansson <sakarias.johansson@goodbyekansas.com>2023-01-16 20:58:55 +0100
committerSakarias Johansson <sakarias.johansson@goodbyekansas.com>2023-01-16 20:58:55 +0100
commit03e5a88f9b7da79749370685e8f5afaf03a25b4a (patch)
tree9e0fd5e12bcd9739f5292864c9da9084a0030489 /racer-tracer/src/main.rs
parent3167ec992f1f81b2252a2db3642fff943c4f14bf (diff)
downloadracer-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.rs17
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,