aboutsummaryrefslogtreecommitdiff
path: root/hittable.go
diff options
context:
space:
mode:
Diffstat (limited to 'hittable.go')
-rw-r--r--hittable.go3
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;
}