src/rcrt/bxdf/BSDF.h

Go to the documentation of this file.
00001 #ifndef BSDF_H_
00002 #define BSDF_H_
00003 
00004 #include <vector>
00005 #include "BXDF.h"
00006 
00007 namespace rcrt
00008 {
00009 
00013 class BSDF
00014 {
00015 private:
00016         std::vector<BXDF*> bxdfs;
00017         
00018 public:
00019         BSDF();
00020         virtual ~BSDF();
00021         
00024         RGBColor eval(const Vec3D& wOut, const Vec3D& wInc, const Vec3D& gNormal, const Vec3D& sNormal) const;
00025         
00028         RGBColor evalDiffuse(const Vec3D& wOut, const Vec3D& wInc, const Vec3D& gNormal, const Vec3D& sNormal) const;
00029         
00032         RGBColor evalSpecular(const Vec3D& wOut, const Vec3D& wInc, const Vec3D& gNormal, const Vec3D& sNormal) const;
00033                         
00034         bool hasDiffuse() const;
00035         bool hasSpecular() const;
00036         bool hasTransmissive() const;
00037         
00038         RGBColor getKdiffuse() const;
00039         RGBColor getKspecular() const;
00040         RGBColor getKtransmit() const;
00041         
00042         void addBXDF(BXDF* bxdf);
00043         
00044         
00045 };
00046 
00047 }
00048 
00049 #endif /*BSDF_H_*/

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