00001 #ifndef DEBUGMATERIAL_H_ 00002 #define DEBUGMATERIAL_H_ 00003 00004 #include "Material.h" 00005 00006 namespace rcrt 00007 { 00008 00009 class DebugMaterial : public rcrt::Material 00010 { 00011 public: 00012 DebugMaterial(); 00013 virtual ~DebugMaterial(); 00014 00015 virtual bool hasDiffuse() const; 00016 virtual bool hasSpecular() const; 00017 virtual bool hasTransmissive() const; 00018 00019 virtual RGBColor getEmitted(const Vec3D& wOut, Intersection& is); 00020 virtual RGBColor sample(const Vec3D& wOut, const Vec3D& wInc, Intersection& is); 00021 virtual RGBColor sampleDiffuse(const Vec3D& wOut, const Vec3D& wInc, Intersection& is); 00022 virtual RGBColor sampleSpecular(const Vec3D& wOut, const Vec3D& wInc, Intersection& is); 00023 virtual ScatterEvent scatterPhoton(Intersection& is, Photon* photon); 00024 virtual bool refracts() const; 00025 }; 00026 00027 } 00028 00029 #endif /*DEBUGMATERIAL_H_*/