src/rcrt/materials/MirrorMaterial.h

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

Generated on Thu Jan 31 19:26:19 2008 for RenderingCompetitionRayTracer by  doxygen 1.5.3