Light Class Reference

#include <light.h>

Inheritance diagram for Light:

AreaLight DistantLight GonioPhotometricLight InfiniteAreaLight InfiniteAreaLightIS PointLight ProjectionLight SpotLight

List of all members.

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


Detailed Description

Definition at line 34 of file light.h.


Constructor & Destructor Documentation

Light::~Light (  )  [virtual]

Definition at line 28 of file light.cpp.

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

Definition at line 38 of file light.h.

References Warning().


Member Function Documentation

virtual Spectrum Light::Sample_L ( const Point p,
Vector wi,
VisibilityTester vis 
) const [pure virtual]

virtual Spectrum Light::Power ( const Scene  )  const [pure virtual]

virtual bool Light::IsDeltaLight (  )  const [pure virtual]

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]

virtual float Light::Pdf ( const Point p,
const Vector wi 
) const [pure virtual]

virtual Spectrum Light::Sample_L ( const Point p,
const Normal n,
float  u1,
float  u2,
Vector wi,
float *  pdf,
VisibilityTester visibility 
) const [inline, virtual]

Reimplemented in AreaLight, and InfiniteAreaLight.

Definition at line 58 of file light.h.

virtual float Light::Pdf ( const Point p,
const Normal n,
const Vector wi 
) const [inline, virtual]

Reimplemented in AreaLight, and InfiniteAreaLight.

Definition at line 63 of file light.h.

virtual Spectrum Light::Sample_L ( const Scene scene,
float  u1,
float  u2,
float  u3,
float  u4,
Ray ray,
float *  pdf 
) const [pure virtual]


Member Data Documentation

const int Light::nSamples

const Transform Light::LightToWorld [protected]

const Transform Light::WorldToLight [protected]


The documentation for this class was generated from the following files:

Generated on Mon Jul 20 17:31:55 2009 for pbrt by  doxygen 1.5.6