save commit
[MicroTrace.git] / Primitive.hxx
index f147b35..14233ad 100644 (file)
@@ -2,11 +2,24 @@
 #define PRIMITIVE_HXX
 
 #include "Ray.hxx"
+#include "Shader.hxx"
+#include "Box.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;
+  virtual Box CalcBounds() = 0;
+  virtual bool InVoxel(const Box& box) = 0;
+  Shader* shader();
+  
+protected:
+  Shader* m_shader;
 };
 
 #endif
This page took 0.026624 seconds and 4 git commands to generate.