summaryrefslogtreecommitdiff
path: root/racer-tracer/src/material.rs
diff options
context:
space:
mode:
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)>;
+}