You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

19 lines
602 B

#pragma once
#include "Vector3.h"
class Ray;
class Material {
public:
virtual bool Scatter(const Ray& input_ray, const HitPoint& hit_point, Ray& out_ray) = 0;
};
class LamberMaterial : public Material {
public:
Vector3 mDiffuse;
LamberMaterial(const Vector3 diffuse) { mDiffuse = diffuse; }
bool Scatter(const Ray& input_ray, const HitPoint& hit_point, Ray& out_ray);
};
class MetalMaterial : public Material {
public:
Vector3 mDiffuse;
MetalMaterial(const Vector3 diffuse) { mDiffuse = diffuse; }
bool Scatter(const Ray& input_ray, const HitPoint& hit_point, Ray& out_ray);
};