1 #ifndef QUADAREALIGHT_HXX
2 #define QUADAREALIGHT_HXX
6 class QuadAreaLight : public Light
9 //! Points p1 to p4 are assumed to define a planar rectangular region and have to be given counter-clockwise
10 QuadAreaLight(Scene* scene, const Vec3f& intensity, const Vec3f& p1, const Vec3f& p2, const Vec3f& p3, const Vec3f& p4);
11 virtual ~QuadAreaLight();
13 virtual bool Illuminate(Ray& shadow_ray, Vec3f& intensity);
14 virtual bool IsArea();
16 const Vec3f& GetNormal(const Vec3f& position) const;
21 // defines the quad by one point and to vectors
22 Vec3f m_p0, m_e1, m_e2;
25 // emission(red, green, blue)