From 03e5a88f9b7da79749370685e8f5afaf03a25b4a Mon Sep 17 00:00:00 2001 From: Sakarias Johansson Date: Mon, 16 Jan 2023 20:58:55 +0100 Subject: =?UTF-8?q?=F0=9F=8E=A8=20Add=20dialectric=20material?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- racer-tracer/src/main.rs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'racer-tracer/src/main.rs') 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, -- cgit v1.2.3