summaryrefslogtreecommitdiff
path: root/racer-tracer/src/material.rs
diff options
context:
space:
mode:
authorSakarias Johansson <sakarias.johansson@goodbyekansas.com>2023-01-12 21:09:43 +0100
committerSakarias Johansson <sakarias.johansson@goodbyekansas.com>2023-01-12 21:09:43 +0100
commita6302805d19273c95278c8d792ffbd9b2633fe20 (patch)
tree9e539215cce7ba2eed4f873c711282f9d40a2591 /racer-tracer/src/material.rs
parentbbecf67545c2bd6822b0680673aa850c5ddef9f3 (diff)
downloadracer-tracer-a6302805d19273c95278c8d792ffbd9b2633fe20.tar.gz
racer-tracer-a6302805d19273c95278c8d792ffbd9b2633fe20.tar.xz
racer-tracer-a6302805d19273c95278c8d792ffbd9b2633fe20.zip
🖌️ Add materials
Diffstat (limited to 'racer-tracer/src/material.rs')
-rw-r--r--racer-tracer/src/material.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/racer-tracer/src/material.rs b/racer-tracer/src/material.rs
new file mode 100644
index 0000000..13c29d7
--- /dev/null
+++ b/racer-tracer/src/material.rs
@@ -0,0 +1,10 @@
+pub mod lambertian;
+pub mod metal;
+
+use crate::geometry::HitRecord;
+use crate::ray::Ray;
+use crate::vec3::Color;
+
+pub trait Material {
+ fn scatter(&self, ray: &Ray, hit_record: &HitRecord) -> Option<(Ray, Color)>;
+}