OmniEmitter.h
Go to the documentation of this file.00001 /**<!--------------------------------------------------------------------> 00002 @class OmniEmitter 00003 @author Travis Fischer (fisch0920@gmail.com) 00004 @author Matthew Jacobs (jacobs.mh@gmail.com) 00005 @date Fall 2008 00006 00007 @brief 00008 Point emitter / light which emits light uniformly in every direction, 00009 defined at a single point in 3-space (omnidirectional) 00010 <!-------------------------------------------------------------------->**/ 00011 00012 #ifndef OMNI_EMITTER_H_ 00013 #define OMNI_EMITTER_H_ 00014 00015 #include <materials/Emitter.h> 00016 #include <stats/samplers/UniformOnSphereSampler.h> 00017 00018 class OmniEmitter : public Emitter { 00019 public: 00020 ///@name Constructors 00021 //@{----------------------------------------------------------------- 00022 00023 inline OmniEmitter(SurfacePoint &pt, Material *parent = NULL) 00024 : Emitter(pt, new UniformOnSphereSampler(3), parent) 00025 { } 00026 00027 virtual ~OmniEmitter() 00028 { } 00029 00030 00031 //@}----------------------------------------------------------------- 00032 ///@name Main usage interface 00033 //@{----------------------------------------------------------------- 00034 00035 /** 00036 * @returns the spectral radiance emitted along the given vector 00037 */ 00038 virtual SpectralSampleSet getLe(const Vector3 &wo); 00039 00040 00041 //@}----------------------------------------------------------------- 00042 }; 00043 00044 #endif // OMNI_EMITTER_H_ 00045
Generated on 28 Feb 2009 for Milton by
1.5.6