diff options
| author | Sakarias Johansson <sakarias.johansson@goodbyekansas.com> | 2023-01-18 21:01:24 +0100 |
|---|---|---|
| committer | Sakarias Johansson <sakarias.johansson@goodbyekansas.com> | 2023-01-18 21:01:24 +0100 |
| commit | 2abf48d9ce2968f7e999a9e0faf6d0ebfa752c7c (patch) | |
| tree | 3b58470a7f382634187ba155a1ed398595247a35 /racer-tracer/src/material.rs | |
| parent | 38e9bf130fc1075d576626f0c2ade582ccc3c57f (diff) | |
| download | racer-tracer-2abf48d9ce2968f7e999a9e0faf6d0ebfa752c7c.tar.gz racer-tracer-2abf48d9ce2968f7e999a9e0faf6d0ebfa752c7c.tar.xz racer-tracer-2abf48d9ce2968f7e999a9e0faf6d0ebfa752c7c.zip | |
🏙️ Add support for reading scene from file
Diffstat (limited to 'racer-tracer/src/material.rs')
| -rw-r--r-- | racer-tracer/src/material.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/racer-tracer/src/material.rs b/racer-tracer/src/material.rs index a43b29f..1092ebc 100644 --- a/racer-tracer/src/material.rs +++ b/racer-tracer/src/material.rs @@ -2,10 +2,14 @@ pub mod dialectric; pub mod lambertian; pub mod metal; +use std::sync::Arc; + use crate::geometry::HitRecord; use crate::ray::Ray; use crate::vec3::Color; +pub type SharedMaterial = Arc<Box<dyn Material>>; + pub trait Material: Send + Sync { fn scatter(&self, ray: &Ray, hit_record: &HitRecord) -> Option<(Ray, Color)>; } |
