summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs
index fa6c194..cc5d6b6 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -7,8 +7,8 @@ mod interval;
mod material;
use crate::calculus::calculus::Point3;
-use crate::common::*;
use crate::camera::Camera;
+use crate::common::*;
use crate::material::{Material, MaterialType};
use crate::object::{HittableList, Sphere};
use crate::view::{render_viewer, View};
@@ -17,17 +17,22 @@ fn main() {
let mut display_buffer: DisplayBuffer = [[Pixel::default(); IMG_WIDTH]; IMG_HEIGHT];
let mut world = HittableList::new();
+ let ground = Material::new(Color::from_name(ColorName::Maroon), MaterialType::Diffuse);
+ let blue = Material::new(Color::new(0.1, 0.2, 0.5), MaterialType::Diffuse);
+ let steel = Material::new(Color::from_name(ColorName::Silver), MaterialType::Metal(0.1));
+ let gold = Material::new(Color::from_name(ColorName::Yellow), MaterialType::Metal(0.0));
+
world.push(
- Sphere::new(Point3::new(0.0, -100.5, -1.0), 100.0, MaterialType::Diffuse, Color::new(0.8, 0.8, 0.0), 0.0)
+ Sphere::new(Point3::new(0.0, -100.5, -1.0), 100.0, ground)
);
world.push(
- Sphere::new(Point3::new(0.0, 0.0, -1.2), 0.5, MaterialType::Diffuse, Color::new(0.1, 0.2, 0.5), 0.0)
+ Sphere::new(Point3::new(0.0, 0.0, -1.2), 0.5, blue)
);
world.push(
- Sphere::new(Point3::new(-1.0, 0.0, -1.0), 0.5, MaterialType::Metal, Color::new(0.8, 0.8, 0.8), 0.1)
+ Sphere::new(Point3::new(-1.0, 0.0, -1.0), 0.5, steel)
);
world.push(
- Sphere::new(Point3::new(1.0, 0.0, -1.0), 0.5, MaterialType::Metal, Color::new(0.8, 0.6, 0.2), 0.0)
+ Sphere::new(Point3::new(1.0, 0.0, -1.0), 0.5, gold)
);
let camera = Camera::new();