Public Member Functions | |
DistantLight (const Transform &light2world, const Spectrum &radiance, const Vector &dir) | |
bool | IsDeltaLight () const |
Spectrum | Sample_L (const Point &p, Vector *wi, VisibilityTester *) const |
Spectrum | Power (const Scene *scene) const |
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 |
float | Pdf (const Point &, const Vector &) const |
Private Attributes | |
Vector | lightDir |
Spectrum | L |
Definition at line 30 of file distant.cpp.
DistantLight::DistantLight | ( | const Transform & | light2world, | |
const Spectrum & | radiance, | |||
const Vector & | dir | |||
) |
Definition at line 54 of file distant.cpp.
References L, lightDir, Light::LightToWorld, and Normalize().
Referenced by CreateLight().
bool DistantLight::IsDeltaLight | ( | ) | const [inline, virtual] |
Spectrum DistantLight::Sample_L | ( | const Point & | p, | |
Vector * | wi, | |||
VisibilityTester * | visibility | |||
) | const [virtual] |
Implements Light.
Definition at line 60 of file distant.cpp.
References L, lightDir, and VisibilityTester::SetRay().
Referenced by Sample_L().
Implements Light.
Definition at line 36 of file distant.cpp.
References BBox::BoundingSphere(), L, M_PI, and Scene::WorldBound().
Spectrum DistantLight::Sample_L | ( | const Point & | P, | |
float | u1, | |||
float | u2, | |||
Vector * | wo, | |||
float * | pdf, | |||
VisibilityTester * | visibility | |||
) | const [virtual] |
Spectrum DistantLight::Sample_L | ( | const Scene * | scene, | |
float | u1, | |||
float | u2, | |||
float | u3, | |||
float | u4, | |||
Ray * | ray, | |||
float * | ||||
) | const [virtual] |
Implements Light.
Definition at line 74 of file distant.cpp.
References BBox::BoundingSphere(), ConcentricSampleDisk(), CoordinateSystem(), Ray::d, L, lightDir, M_PI, Ray::o, and Scene::WorldBound().
Vector DistantLight::lightDir [private] |
Spectrum DistantLight::L [private] |
Definition at line 51 of file distant.cpp.
Referenced by CreateLight(), DistantLight(), Power(), and Sample_L().