#include <light.h>

Public Member Functions | |
| AreaLight (const Transform &light2world, const Spectrum &power, int ns, const Reference< Shape > &shape) | |
| virtual Spectrum | L (const Point &p, const Normal &n, const Vector &w) const |
| Spectrum | Power (const Scene *) const |
| bool | IsDeltaLight () const |
| float | Pdf (const Point &, const Vector &) const |
| float | Pdf (const Point &, const Normal &, const Vector &) const |
| Spectrum | Sample_L (const Point &P, Vector *w, VisibilityTester *visibility) const |
| virtual Spectrum | Sample_L (const Point &P, const Normal &N, float u1, float u2, Vector *wo, float *pdf, VisibilityTester *visibility) const |
| virtual Spectrum | Sample_L (const Point &P, float u1, float u2, Vector *wo, float *pdf, VisibilityTester *visibility) const |
| Spectrum | Sample_L (const Scene *scene, float u1, float u2, float u3, float u4, Ray *ray, float *pdf) const |
Protected Attributes | |
| Spectrum | Lemit |
| Reference< Shape > | shape |
| float | area |
Definition at line 88 of file light.h.
| virtual Spectrum AreaLight::L | ( | const Point & | p, | |
| const Normal & | n, | |||
| const Vector & | w | |||
| ) | const [inline, virtual] |
Definition at line 93 of file light.h.
Referenced by CreateAreaLight(), Intersection::Le(), and Sample_L().
| bool AreaLight::IsDeltaLight | ( | ) | const [inline, virtual] |
| Spectrum AreaLight::Sample_L | ( | const Point & | P, | |
| Vector * | w, | |||
| VisibilityTester * | visibility | |||
| ) | const [virtual] |
Implements Light.
Definition at line 96 of file area.cpp.
References L(), Normalize(), RandomFloat(), VisibilityTester::SetSegment(), and shape.
| Spectrum AreaLight::Sample_L | ( | const Point & | P, | |
| const Normal & | N, | |||
| float | u1, | |||
| float | u2, | |||
| Vector * | wo, | |||
| float * | pdf, | |||
| VisibilityTester * | visibility | |||
| ) | const [virtual] |
Reimplemented from Light.
Definition at line 58 of file area.cpp.
References L(), Normalize(), VisibilityTester::SetSegment(), and shape.
| Spectrum AreaLight::Sample_L | ( | const Point & | P, | |
| float | u1, | |||
| float | u2, | |||
| Vector * | wo, | |||
| float * | pdf, | |||
| VisibilityTester * | visibility | |||
| ) | const [virtual] |
Implements Light.
Definition at line 73 of file area.cpp.
References L(), Normalize(), VisibilityTester::SetSegment(), and shape.
Spectrum AreaLight::Lemit [protected] |
Reference<Shape> AreaLight::shape [protected] |
float AreaLight::area [protected] |
1.5.6