#include <distant.h>
Public Member Functions | |
| DistantLight (const Transform &light2world, const Spectrum &radiance, float gain, const Vector &dir) | |
| ~DistantLight () | |
| bool | IsDeltaLight () const |
| SWCSpectrum | Sample_L (const Point &p, Vector *wi, VisibilityTester *) const |
| SWCSpectrum | Power (const Scene *scene) const |
| SWCSpectrum | Sample_L (const Point &P, float u1, float u2, float u3, Vector *wo, float *pdf, VisibilityTester *visibility) const |
| SWCSpectrum | 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 |
Static Public Member Functions | |
| static Light * | CreateLight (const Transform &light2world, const ParamSet ¶mSet) |
Private Attributes | |
| Vector | lightDir |
| SPD * | LSPD |
Definition at line 33 of file distant.h.
| DistantLight::DistantLight | ( | const Transform & | light2world, | |
| const Spectrum & | radiance, | |||
| float | gain, | |||
| const Vector & | dir | |||
| ) |
Definition at line 31 of file distant.cpp.
References lightDir, lux::Light::LightToWorld, LSPD, lux::Normalize(), and lux::SPD::Scale().
Referenced by CreateLight().
| lux::DistantLight::~DistantLight | ( | ) | [inline] |
| Light * DistantLight::CreateLight | ( | const Transform & | light2world, | |
| const ParamSet & | paramSet | |||
| ) | [static] |
Definition at line 73 of file distant.cpp.
References DistantLight(), lux::ParamSet::FindOneFloat(), lux::ParamSet::FindOnePoint(), lux::ParamSet::FindOneSpectrum(), and blender::g.
| bool lux::DistantLight::IsDeltaLight | ( | ) | const [inline, virtual] |
Implements lux::Light.
Implements lux::Light.
Definition at line 50 of file distant.cpp.
| SWCSpectrum lux::DistantLight::Power | ( | const Scene * | scene | ) | const [inline, virtual] |
Implements lux::Light.
Definition at line 40 of file distant.h.
References lux::BBox::BoundingSphere(), LSPD, M_PI, and lux::Scene::WorldBound().
| SWCSpectrum DistantLight::Sample_L | ( | const Scene * | scene, | |
| float | u1, | |||
| float | u2, | |||
| float | u3, | |||
| float | u4, | |||
| Ray * | ray, | |||
| float * | ||||
| ) | const [virtual] |
Implements lux::Light.
Definition at line 53 of file distant.cpp.
References lux::BBox::BoundingSphere(), lux::ConcentricSampleDisk(), lux::CoordinateSystem(), lux::Ray::d, lightDir, LSPD, M_PI, lux::Ray::o, and lux::Scene::WorldBound().
| SWCSpectrum DistantLight::Sample_L | ( | const Point & | P, | |
| float | u1, | |||
| float | u2, | |||
| float | u3, | |||
| Vector * | wo, | |||
| float * | pdf, | |||
| VisibilityTester * | visibility | |||
| ) | const [virtual] |
Implements lux::Light.
Definition at line 45 of file distant.cpp.
References Sample_L().
Referenced by Sample_L().
| SWCSpectrum DistantLight::Sample_L | ( | const Point & | p, | |
| Vector * | wi, | |||
| VisibilityTester * | visibility | |||
| ) | const [virtual] |
Implements lux::Light.
Definition at line 39 of file distant.cpp.
References lightDir, LSPD, and lux::VisibilityTester::SetRay().
Vector lux::DistantLight::lightDir [private] |
Definition at line 57 of file distant.h.
Referenced by DistantLight(), and Sample_L().
SPD* lux::DistantLight::LSPD [private] |
Definition at line 58 of file distant.h.
Referenced by DistantLight(), Power(), Sample_L(), and ~DistantLight().
1.6.1