X-Git-Url: https://git.rohieb.name/MicroTrace.git/blobdiff_plain/9e556ed5343384fcf9258fe0f37af3c1fb9b9b3d..430ddbc0e443b60b6d0c7893a96e045411368dbf:/Primitive.hxx diff --git a/Primitive.hxx b/Primitive.hxx index f147b35..04e201f 100644 --- a/Primitive.hxx +++ b/Primitive.hxx @@ -2,11 +2,21 @@ #define PRIMITIVE_HXX #include "Ray.hxx" +#include "Shader.hxx" class Primitive { public: + Primitive(Shader* shader = 0); + virtual ~Primitive(); + virtual bool Intersect(Ray &ray) = 0; + virtual bool Occluded(Ray& ray); + virtual Vec3f GetNormal(Ray& ray) = 0; + + Shader* shader(); +protected: + Shader* m_shader; }; #endif