DiffuseBSDF.h
Go to the documentation of this file.00001 /**<!--------------------------------------------------------------------> 00002 @class DiffuseBSDF 00003 @author Travis Fischer (fisch0920@gmail.com) 00004 @author Matthew Jacobs (jacobs.mh@gmail.com) 00005 @date Fall 2008 00006 00007 @brief 00008 Ideal diffuse BSDF (lambertian) defined at a single point on a 00009 surface in 3-space 00010 00011 @param 00012 kd - SpectralSampleSet which scales / attenuates the overall reflectance 00013 of the material (diffuse albedo) 00014 <!-------------------------------------------------------------------->**/ 00015 00016 #ifndef DIFFUSE_BSDF_H_ 00017 #define DIFFUSE_BSDF_H_ 00018 00019 #include <materials/BSDF.h> 00020 00021 class DiffuseBSDF : public BSDF { 00022 public: 00023 ///@name Constructors 00024 //@{----------------------------------------------------------------- 00025 00026 inline explicit DiffuseBSDF(SurfacePoint &pt, Material *parent = NULL) 00027 : BSDF(pt, parent) 00028 { } 00029 00030 virtual ~DiffuseBSDF() 00031 { } 00032 00033 00034 //@}----------------------------------------------------------------- 00035 ///@name Main usage interface 00036 //@{----------------------------------------------------------------- 00037 00038 virtual Event sample(); 00039 00040 virtual real_t getPdf(const Event &event); 00041 00042 virtual SpectralSampleSet getBSDF(const Vector3 &wi, const Vector3 &wo); 00043 00044 00045 //@}----------------------------------------------------------------- 00046 }; 00047 00048 #endif // DIFFUSE_BSDF_H_ 00049
Generated on 28 Feb 2009 for Milton by
1.5.6