diff options
Diffstat (limited to 'hittable.go')
-rw-r--r-- | hittable.go | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/hittable.go b/hittable.go index 5ab11cc..42599ab 100644 --- a/hittable.go +++ b/hittable.go @@ -11,6 +11,7 @@ type HitRecord struct { P Vec3 N Vec3 T float64 + Mat Material } func (rec *HitRecord) SetFaceNormal(r Ray, out_n Vec3) { @@ -32,6 +33,7 @@ type Hittable interface { type Sphere struct { Origin Vec3 Radius float64 + Mat Material } func (s Sphere) Hit(r Ray, ray_t Interval) (rec HitRecord) { @@ -58,6 +60,7 @@ func (s Sphere) Hit(r Ray, ray_t Interval) (rec HitRecord) { rec.P = r.At(rec.T); out_n := rec.P.Sub(s.Origin).Div(SplatVec3(s.Radius)); rec.SetFaceNormal(r, out_n); + rec.Mat = s.Mat; rec.Valid = true; return; } |