#include <distant.h>
Public Member Functions | |
| DistantLight (const Transform &light2world, const boost::shared_ptr< Texture< SWCSpectrum > > L, float gain, const Vector &dir) | |
| virtual | ~DistantLight () |
| virtual bool | IsDeltaLight () const |
| virtual bool | IsEnvironmental () const |
| virtual SWCSpectrum | Power (const TsPack *tspack, const Scene *scene) const |
| virtual SWCSpectrum | Sample_L (const TsPack *tspack, const Point &P, float u1, float u2, float u3, Vector *wo, float *pdf, VisibilityTester *visibility) const |
| virtual SWCSpectrum | Sample_L (const TsPack *tspack, const Scene *scene, float u1, float u2, float u3, float u4, Ray *ray, float *pdf) const |
| virtual float | Pdf (const Point &, const Vector &) const |
| virtual float | Pdf (const Point &p, const Normal &n, const Point &po, const Normal &ns) const |
Static Public Member Functions | |
| static Light * | CreateLight (const Transform &light2world, const ParamSet ¶mSet, const TextureParams &tp) |
Private Attributes | |
| Vector | lightDir |
| boost::shared_ptr< Texture < SWCSpectrum > > | Lbase |
| DifferentialGeometry | dummydg |
| float | gain |
Definition at line 34 of file distant.h.
| DistantLight::DistantLight | ( | const Transform & | light2world, | |
| const boost::shared_ptr< Texture< SWCSpectrum > > | L, | |||
| float | gain, | |||
| const Vector & | dir | |||
| ) |
Definition at line 32 of file distant.cpp.
References gain, Lbase, lightDir, lux::Light::LightToWorld, and lux::Normalize().
Referenced by CreateLight().
| DistantLight::~DistantLight | ( | ) | [virtual] |
Definition at line 41 of file distant.cpp.
| Light * DistantLight::CreateLight | ( | const Transform & | light2world, | |
| const ParamSet & | paramSet, | |||
| const TextureParams & | tp | |||
| ) | [static] |
Definition at line 79 of file distant.cpp.
References DistantLight(), lux::ParamSet::FindOneFloat(), lux::ParamSet::FindOnePoint(), blender::g, and lux::TextureParams::GetSWCSpectrumTexture().
| virtual bool lux::DistantLight::IsDeltaLight | ( | ) | const [inline, virtual] |
Implements lux::Light.
| virtual bool lux::DistantLight::IsEnvironmental | ( | ) | const [inline, virtual] |
Implements lux::Light.
| float DistantLight::Pdf | ( | const Point & | p, | |
| const Normal & | n, | |||
| const Point & | po, | |||
| const Normal & | ns | |||
| ) | const [virtual] |
Implements lux::Light.
Definition at line 54 of file distant.cpp.
Implements lux::Light.
Definition at line 51 of file distant.cpp.
| virtual SWCSpectrum lux::DistantLight::Power | ( | const TsPack * | tspack, | |
| const Scene * | scene | |||
| ) | const [inline, virtual] |
Implements lux::Light.
Definition at line 43 of file distant.h.
References lux::BBox::BoundingSphere(), dummydg, Lbase, M_PI, and lux::Scene::WorldBound().
| SWCSpectrum DistantLight::Sample_L | ( | const TsPack * | tspack, | |
| const Scene * | scene, | |||
| float | u1, | |||
| float | u2, | |||
| float | u3, | |||
| float | u4, | |||
| Ray * | ray, | |||
| float * | ||||
| ) | const [virtual] |
Implements lux::Light.
Definition at line 59 of file distant.cpp.
References lux::BBox::BoundingSphere(), lux::ConcentricSampleDisk(), lux::CoordinateSystem(), lux::Ray::d, dummydg, gain, Lbase, lightDir, M_PI, lux::Ray::o, and lux::Scene::WorldBound().
| SWCSpectrum DistantLight::Sample_L | ( | const TsPack * | tspack, | |
| const Point & | P, | |||
| float | u1, | |||
| float | u2, | |||
| float | u3, | |||
| Vector * | wo, | |||
| float * | pdf, | |||
| VisibilityTester * | visibility | |||
| ) | const [virtual] |
Implements lux::Light.
Definition at line 44 of file distant.cpp.
References dummydg, gain, Lbase, lightDir, lux::VisibilityTester::SetRay(), and lux::TsPack::time.
Definition at line 64 of file distant.h.
Referenced by Power(), and Sample_L().
float lux::DistantLight::gain [private] |
Definition at line 65 of file distant.h.
Referenced by DistantLight(), and Sample_L().
boost::shared_ptr< Texture<SWCSpectrum> > lux::DistantLight::Lbase [private] |
Definition at line 63 of file distant.h.
Referenced by DistantLight(), Power(), and Sample_L().
Vector lux::DistantLight::lightDir [private] |
Definition at line 62 of file distant.h.
Referenced by DistantLight(), and Sample_L().
1.6.2-20100208