#include <light.h>

Public Member Functions | |
| virtual | ~Light () |
| Light (const Transform &l2w, int ns=1) | |
| virtual Spectrum | Sample_L (const Point &p, Vector *wi, VisibilityTester *vis) const =0 |
| virtual Spectrum | Power (const Scene *) const =0 |
| virtual bool | IsDeltaLight () const =0 |
| virtual Spectrum | Le (const RayDifferential &r) const |
| virtual Spectrum | Sample_L (const Point &p, float u1, float u2, Vector *wi, float *pdf, VisibilityTester *vis) const =0 |
| virtual float | Pdf (const Point &p, const Vector &wi) const =0 |
| virtual Spectrum | Sample_L (const Point &p, const Normal &n, float u1, float u2, Vector *wi, float *pdf, VisibilityTester *visibility) const |
| virtual float | Pdf (const Point &p, const Normal &n, const Vector &wi) const |
| virtual Spectrum | Sample_L (const Scene *scene, float u1, float u2, float u3, float u4, Ray *ray, float *pdf) const =0 |
Public Attributes | |
| const int | nSamples |
Protected Attributes | |
| const Transform | LightToWorld |
| const Transform | WorldToLight |
Definition at line 34 of file light.h.
| Light::Light | ( | const Transform & | l2w, | |
| int | ns = 1 | |||
| ) | [inline] |
| virtual Spectrum Light::Sample_L | ( | const Point & | p, | |
| Vector * | wi, | |||
| VisibilityTester * | vis | |||
| ) | const [pure virtual] |
Implemented in AreaLight, DistantLight, GonioPhotometricLight, InfiniteAreaLight, InfiniteAreaLightIS, PointLight, ProjectionLight, and SpotLight.
Referenced by EstimateDirect(), SingleScattering::Li(), PhotonIntegrator::Preprocess(), IGIIntegrator::Preprocess(), and ExPhotonIntegrator::Preprocess().
Implemented in AreaLight, DistantLight, GonioPhotometricLight, InfiniteAreaLight, InfiniteAreaLightIS, PointLight, ProjectionLight, and SpotLight.
| virtual bool Light::IsDeltaLight | ( | ) | const [pure virtual] |
Implemented in AreaLight, DistantLight, GonioPhotometricLight, InfiniteAreaLight, InfiniteAreaLightIS, PointLight, ProjectionLight, and SpotLight.
Referenced by EstimateDirect().
| Spectrum Light::Le | ( | const RayDifferential & | r | ) | const [virtual] |
Reimplemented in InfiniteAreaLight, and InfiniteAreaLightIS.
Definition at line 41 of file light.cpp.
Referenced by EstimateDirect().
| virtual Spectrum Light::Sample_L | ( | const Point & | p, | |
| float | u1, | |||
| float | u2, | |||
| Vector * | wi, | |||
| float * | pdf, | |||
| VisibilityTester * | vis | |||
| ) | const [pure virtual] |
Implemented in AreaLight, DistantLight, GonioPhotometricLight, InfiniteAreaLight, InfiniteAreaLightIS, PointLight, ProjectionLight, and SpotLight.
Implemented in AreaLight, DistantLight, GonioPhotometricLight, InfiniteAreaLight, InfiniteAreaLightIS, PointLight, ProjectionLight, and SpotLight.
Referenced by EstimateDirect().
| virtual Spectrum Light::Sample_L | ( | const Point & | p, | |
| const Normal & | n, | |||
| float | u1, | |||
| float | u2, | |||
| Vector * | wi, | |||
| float * | pdf, | |||
| VisibilityTester * | visibility | |||
| ) | const [inline, virtual] |
| virtual Spectrum Light::Sample_L | ( | const Scene * | scene, | |
| float | u1, | |||
| float | u2, | |||
| float | u3, | |||
| float | u4, | |||
| Ray * | ray, | |||
| float * | ||||
| ) | const [pure virtual] |
Implemented in AreaLight, DistantLight, GonioPhotometricLight, InfiniteAreaLight, InfiniteAreaLightIS, PointLight, ProjectionLight, and SpotLight.
| const int Light::nSamples |
Definition at line 71 of file light.h.
Referenced by CreateAreaLight(), CreateLight(), PhotonIntegrator::RequestSamples(), IrradianceCache::RequestSamples(), IGIIntegrator::RequestSamples(), ExPhotonIntegrator::RequestSamples(), and DirectLighting::RequestSamples().
const Transform Light::LightToWorld [protected] |
Definition at line 74 of file light.h.
Referenced by DistantLight::DistantLight(), GonioPhotometricLight::GonioPhotometricLight(), PointLight::PointLight(), ProjectionLight::ProjectionLight(), SpotLight::Sample_L(), ProjectionLight::Sample_L(), InfiniteAreaLightIS::Sample_L(), and SpotLight::SpotLight().
const Transform Light::WorldToLight [protected] |
Definition at line 74 of file light.h.
Referenced by SpotLight::Falloff(), InfiniteAreaLightIS::Le(), InfiniteAreaLight::Le(), InfiniteAreaLightIS::Pdf(), ProjectionLight::Projection(), and GonioPhotometricLight::Scale().
1.5.6