#include <distant.h>
Public Member Functions | |
DistantLight (const Transform &light2world, const Spectrum &radiance, const Vector &dir) | |
bool | IsDeltaLight () const |
Spectrum | Sample_L (const Point &p, float pEpsilon, const LightSample &ls, float time, Vector *wi, float *pdf, VisibilityTester *) const |
Spectrum | Power (const Scene *) const |
Spectrum | Sample_L (const Scene *scene, const LightSample &ls, float u1, float u2, float time, Ray *ray, Normal *Ns, float *pdf) const |
float | Pdf (const Point &, const Vector &) const |
Private Attributes | |
Vector | lightDir |
Spectrum | L |
Definition at line 38 of file distant.h.
DistantLight::DistantLight | ( | const Transform & | light2world, | |
const Spectrum & | radiance, | |||
const Vector & | dir | |||
) |
Definition at line 32 of file distant.cpp.
References L, lightDir, Light::LightToWorld, and Normalize().
bool DistantLight::IsDeltaLight | ( | ) | const [inline, virtual] |
Implements Light.
Definition at line 69 of file distant.cpp.
Implements Light.
Definition at line 50 of file distant.cpp.
References BBox::BoundingSphere(), L, M_PI, and Scene::WorldBound().
Spectrum DistantLight::Sample_L | ( | const Scene * | scene, | |
const LightSample & | ls, | |||
float | u1, | |||
float | u2, | |||
float | time, | |||
Ray * | ray, | |||
Normal * | Ns, | |||
float * | ||||
) | const [virtual] |
Implements Light.
Definition at line 74 of file distant.cpp.
References BBox::BoundingSphere(), ConcentricSampleDisk(), CoordinateSystem(), INFINITY, L, lightDir, M_PI, LightSample::uPos, and Scene::WorldBound().
Spectrum DistantLight::Sample_L | ( | const Point & | p, | |
float | pEpsilon, | |||
const LightSample & | ls, | |||
float | time, | |||
Vector * | wi, | |||
float * | pdf, | |||
VisibilityTester * | visibility | |||
) | const [virtual] |
Implements Light.
Definition at line 40 of file distant.cpp.
References L, lightDir, and VisibilityTester::SetRay().
Spectrum DistantLight::L [private] |
Definition at line 52 of file distant.h.
Referenced by DistantLight(), Power(), and Sample_L().
Vector DistantLight::lightDir [private] |
Definition at line 51 of file distant.h.
Referenced by DistantLight(), and Sample_L().