24 virtual int MatType()
const = 0;
38 virtual double MatFuzz()
const = 0;
45 virtual double MatRef()
const = 0;
53 return v - 2 * StdDot(v, n)*n;
virtual double MatFuzz() const =0
virtual double MatRef() const =0
static Vector3D Reflect(const Vector3D &v, const Vector3D &n)
Definition: material.h:52
virtual bool Scatter(const Ray &r_in, const HitRecord &rec, Vector3D &attenuation, Ray &scattered) const =0
virtual int MatType() const =0
static Vector3D RandomInUnitSphere()
Definition: material.h:61
double SquaredLength() const
Return squared length (double) of Vector3D.
Definition: vector.h:59
virtual Vector3D MatColor() const =0