#include <goniometric.h>
Public Member Functions | |
| GonioPhotometricLight (const Transform &light2world, const Spectrum &, const string &texname) | |
| Spectrum | Sample_L (const Point &p, float pEpsilon, const LightSample &ls, float time, Vector *wi, float *pdf, VisibilityTester *vis) const |
| ~GonioPhotometricLight () | |
| bool | IsDeltaLight () const |
| Spectrum | Scale (const Vector &w) 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 | |
| Point | lightPos |
| Spectrum | Intensity |
| MIPMap< RGBSpectrum > * | mipmap |
Definition at line 39 of file goniometric.h.
| GonioPhotometricLight::GonioPhotometricLight | ( | const Transform & | light2world, | |
| const Spectrum & | intensity, | |||
| const string & | texname | |||
| ) |
Definition at line 42 of file goniometric.cpp.
References Intensity, lightPos, Light::LightToWorld, mipmap, and ReadImage().
| GonioPhotometricLight::~GonioPhotometricLight | ( | ) | [inline] |
Definition at line 46 of file goniometric.h.
References mipmap.
| bool GonioPhotometricLight::IsDeltaLight | ( | ) | const [inline, virtual] |
Implements Light.
Definition at line 47 of file goniometric.h.
Implements Light.
Definition at line 82 of file goniometric.cpp.
Implements Light.
Definition at line 58 of file goniometric.cpp.
References Intensity, MIPMap< T >::Lookup(), M_PI, mipmap, and SPECTRUM_ILLUMINANT.
| Spectrum GonioPhotometricLight::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 73 of file goniometric.cpp.
References Ray::d, INFINITY, Intensity, lightPos, Scale(), UniformSampleSphere(), UniformSpherePdf(), and LightSample::uPos.
| Spectrum GonioPhotometricLight::Sample_L | ( | const Point & | p, | |
| float | pEpsilon, | |||
| const LightSample & | ls, | |||
| float | time, | |||
| Vector * | wi, | |||
| float * | pdf, | |||
| VisibilityTester * | vis | |||
| ) | const [virtual] |
Implements Light.
Definition at line 33 of file goniometric.cpp.
References DistanceSquared(), Intensity, lightPos, Normalize(), Scale(), and VisibilityTester::SetSegment().
Definition at line 48 of file goniometric.h.
References INV_PI, INV_TWOPI, MIPMap< T >::Lookup(), mipmap, Normalize(), SPECTRUM_ILLUMINANT, SphericalPhi(), SphericalTheta(), Light::WorldToLight, Vector::y, and Vector::z.
Referenced by Sample_L().
Spectrum GonioPhotometricLight::Intensity [private] |
Definition at line 64 of file goniometric.h.
Referenced by GonioPhotometricLight(), Power(), and Sample_L().
Point GonioPhotometricLight::lightPos [private] |
Definition at line 63 of file goniometric.h.
Referenced by GonioPhotometricLight(), and Sample_L().
MIPMap<RGBSpectrum>* GonioPhotometricLight::mipmap [private] |
Definition at line 65 of file goniometric.h.
Referenced by GonioPhotometricLight(), Power(), Scale(), and ~GonioPhotometricLight().
1.6.3