Public Member Functions | |
GonioPhotometricLight (const Transform &light2world, const Spectrum &, const string &texname) | |
Spectrum | Sample_L (const Point &p, Vector *wi, VisibilityTester *vis) const |
~GonioPhotometricLight () | |
bool | IsDeltaLight () const |
Spectrum | Scale (const Vector &w) const |
Spectrum | Power (const 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 | |
Point | lightPos |
Spectrum | Intensity |
MIPMap< Spectrum > * | mipmap |
Definition at line 31 of file goniometric.cpp.
GonioPhotometricLight::GonioPhotometricLight | ( | const Transform & | light2world, | |
const Spectrum & | intensity, | |||
const string & | texname | |||
) |
Definition at line 70 of file goniometric.cpp.
References Intensity, lightPos, Light::LightToWorld, mipmap, and ReadImage().
Referenced by CreateLight().
GonioPhotometricLight::~GonioPhotometricLight | ( | ) | [inline] |
Spectrum GonioPhotometricLight::Sample_L | ( | const Point & | p, | |
Vector * | wi, | |||
VisibilityTester * | vis | |||
) | const [virtual] |
Implements Light.
Definition at line 64 of file goniometric.cpp.
References DistanceSquared(), Intensity, lightPos, Normalize(), Scale(), and VisibilityTester::SetSegment().
bool GonioPhotometricLight::IsDeltaLight | ( | ) | const [inline, virtual] |
Definition at line 39 of file goniometric.cpp.
References INV_PI, INV_TWOPI, MIPMap< T >::Lookup(), mipmap, Normalize(), SphericalPhi(), SphericalTheta(), Light::WorldToLight, Vector::y, and Vector::z.
Referenced by Sample_L().
Implements Light.
Definition at line 47 of file goniometric.cpp.
References Intensity, MIPMap< T >::Lookup(), M_PI, and mipmap.
Spectrum GonioPhotometricLight::Sample_L | ( | const Point & | P, | |
float | u1, | |||
float | u2, | |||
Vector * | wo, | |||
float * | pdf, | |||
VisibilityTester * | visibility | |||
) | const [virtual] |
Implements Light.
Definition at line 85 of file goniometric.cpp.
References DistanceSquared(), Intensity, lightPos, Normalize(), Scale(), and VisibilityTester::SetSegment().
Spectrum GonioPhotometricLight::Sample_L | ( | const Scene * | scene, | |
float | u1, | |||
float | u2, | |||
float | u3, | |||
float | u4, | |||
Ray * | ray, | |||
float * | ||||
) | const [virtual] |
Implements Light.
Definition at line 93 of file goniometric.cpp.
References Ray::d, Intensity, lightPos, Ray::o, Scale(), UniformSampleSphere(), and UniformSpherePdf().
Point GonioPhotometricLight::lightPos [private] |
Definition at line 58 of file goniometric.cpp.
Referenced by GonioPhotometricLight(), and Sample_L().
Spectrum GonioPhotometricLight::Intensity [private] |
Definition at line 59 of file goniometric.cpp.
Referenced by GonioPhotometricLight(), Power(), and Sample_L().
MIPMap<Spectrum>* GonioPhotometricLight::mipmap [private] |
Definition at line 60 of file goniometric.cpp.
Referenced by GonioPhotometricLight(), Power(), Scale(), and ~GonioPhotometricLight().