src/rcrt/materials/ImageMaterial.h

Go to the documentation of this file.
00001 #ifndef IMAGEMATERIAL_H_
00002 #define IMAGEMATERIAL_H_
00003 
00004 #include "Material.h"
00005 
00006 namespace rcrt
00007 {
00008 
00009 class ImageMaterial : public rcrt::Material
00010 {
00011 private:
00012         ImageTexture* imageTex;
00013 public:
00014         ImageMaterial(ImageTexture* i, float iorR=1, float iorI=0);
00015         ImageMaterial(ImageTexture* i, const std::complex<float>& IOR);
00016         virtual ~ImageMaterial();
00017         
00018         virtual RGBColor sample(const Vec3D& wOut, const Vec3D& wInc, Intersection& is);
00019         virtual RGBColor sampleDiffuse(const Vec3D& wOut, const Vec3D& wInc, Intersection& is);
00020         virtual RGBColor sampleSpecular(const Vec3D& wOut, const Vec3D& wInc, Intersection& is);
00021         virtual RGBColor getEmitted(const Vec3D& wOut, Intersection& is);
00022         virtual ScatterEvent scatterPhoton(Intersection& is, Photon* photon);
00023         
00024         virtual bool hasDiffuse() const;
00025         virtual bool hasSpecular() const;
00026         virtual bool hasTransmissive() const;
00027 };
00028 
00029 }
00030 
00031 #endif /*IMAGEMATERIAL_H_*/

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