Light Class Reference

#include <light.h>

Inheritance diagram for Light:
AreaLight DistantLight GonioPhotometricLight InfiniteAreaLight PointLight ProjectionLight SpotLight DiffuseAreaLight

List of all members.

Public Member Functions

virtual ~Light ()
 Light (const Transform &l2w, int ns=1)
virtual Spectrum Sample_L (const Point &p, float pEpsilon, const LightSample &ls, float time, Vector *wi, float *pdf, VisibilityTester *vis) const =0
virtual Spectrum Power (const Scene *) const =0
virtual bool IsDeltaLight () const =0
virtual Spectrum Le (const RayDifferential &r) const
virtual float Pdf (const Point &p, const Vector &wi) const =0
virtual Spectrum Sample_L (const Scene *scene, const LightSample &ls, float u1, float u2, float time, Ray *ray, Normal *Ns, float *pdf) const =0
virtual void SHProject (const Point &p, float pEpsilon, int lmax, const Scene *scene, bool computeLightVisibility, float time, RNG &rng, Spectrum *coeffs) const

Public Attributes

const int nSamples

Protected Attributes

const Transform LightToWorld
const Transform WorldToLight

Detailed Description

Definition at line 40 of file light.h.


Constructor & Destructor Documentation

Light::~Light (  )  [virtual]

Definition at line 34 of file light.cpp.

Light::Light ( const Transform l2w,
int  ns = 1 
) [inline]

Definition at line 44 of file light.h.

References Transform::HasScale(), Warning(), and WorldToLight.


Member Function Documentation

virtual bool Light::IsDeltaLight (  )  const [pure virtual]
Spectrum Light::Le ( const RayDifferential r  )  const [virtual]

Reimplemented in InfiniteAreaLight.

Definition at line 51 of file light.cpp.

Referenced by EstimateDirect().

virtual float Light::Pdf ( const Point p,
const Vector wi 
) const [pure virtual]
virtual Spectrum Light::Power ( const Scene  )  const [pure virtual]
virtual Spectrum Light::Sample_L ( const Scene scene,
const LightSample ls,
float  u1,
float  u2,
float  time,
Ray ray,
Normal Ns,
float *  pdf 
) const [pure virtual]
virtual Spectrum Light::Sample_L ( const Point p,
float  pEpsilon,
const LightSample ls,
float  time,
Vector wi,
float *  pdf,
VisibilityTester vis 
) const [pure virtual]
void Light::SHProject ( const Point p,
float  pEpsilon,
int  lmax,
const Scene scene,
bool  computeLightVisibility,
float  time,
RNG rng,
Spectrum coeffs 
) const [virtual]

Member Data Documentation

const Transform Light::LightToWorld [protected]
const int Light::nSamples
const Transform Light::WorldToLight [protected]

The documentation for this class was generated from the following files:
Generated on Sat Aug 28 20:00:14 2010 for pbrt by  doxygen 1.6.3