5 #ifndef _SPICA_AREA_LIGHT_H_
6 #define _SPICA_AREA_LIGHT_H_
11 #include "core/light.h"
12 #include "core/shape.h"
21 AreaLight(
const std::shared_ptr<Shape>& shape,
40 double* pdfDir)
const override;
41 void pdfLe(
const Ray& ray,
const Normal3d& nLight,
double* pdfPos,
42 double* pdfDir)
const override;
45 Light* clone()
const override;
47 inline double area()
const {
48 return shape_->area();
52 std::shared_ptr<Shape> shape_;
56 SPICA_EXPORT_PLUGIN(
AreaLight,
"Area light");
60 #endif // _SPICA_AREA_LIGHT_H_
RGB spectrum.
Definition: spectrum.h:18
Ray class.
Definition: ray.h:24
Definition: renderparams.h:27
The base class for the lights.
Definition: light.h:80
Definition: visibility_tester.h:15
Definition: interaction.h:23
Area light class.
Definition: area.h:19