#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] |