DiffuseAreaLight Class Reference

#include <diffuse.h>

Inheritance diagram for DiffuseAreaLight:
AreaLight Light

List of all members.

Public Member Functions

 DiffuseAreaLight (const Transform &light2world, const Spectrum &Le, int ns, const Reference< Shape > &shape)
 ~DiffuseAreaLight ()
Spectrum L (const Point &p, const Normal &n, const Vector &w) const
Spectrum Power (const Scene *) const
bool IsDeltaLight () const
float Pdf (const Point &, const Vector &) const
Spectrum Sample_L (const Point &P, float pEpsilon, const LightSample &ls, float time, Vector *wo, float *pdf, VisibilityTester *visibility) const
Spectrum Sample_L (const Scene *scene, const LightSample &ls, float u1, float u2, float time, Ray *ray, Normal *Ns, float *pdf) const

Protected Attributes

Spectrum Lemit
ShapeSetshapeSet
float area

Detailed Description

Definition at line 37 of file diffuse.h.


Constructor & Destructor Documentation

DiffuseAreaLight::DiffuseAreaLight ( const Transform light2world,
const Spectrum Le,
int  ns,
const Reference< Shape > &  shape 
)

Definition at line 37 of file diffuse.cpp.

References ShapeSet::Area(), area, Lemit, and shapeSet.

DiffuseAreaLight::~DiffuseAreaLight (  ) 

Definition at line 32 of file diffuse.cpp.

References shapeSet.


Member Function Documentation

bool DiffuseAreaLight::IsDeltaLight (  )  const [inline, virtual]

Implements Light.

Definition at line 47 of file diffuse.h.

Spectrum DiffuseAreaLight::L ( const Point p,
const Normal n,
const Vector w 
) const [inline, virtual]

Implements AreaLight.

Definition at line 43 of file diffuse.h.

References Dot(), and Lemit.

Referenced by Sample_L().

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

Implements Light.

Definition at line 76 of file diffuse.cpp.

References ShapeSet::Pdf(), and shapeSet.

Spectrum DiffuseAreaLight::Power ( const Scene  )  const [virtual]

Implements Light.

Definition at line 46 of file diffuse.cpp.

References area, Lemit, and M_PI.

Spectrum DiffuseAreaLight::Sample_L ( const Scene scene,
const LightSample ls,
float  u1,
float  u2,
float  time,
Ray ray,
Normal Ns,
float *  pdf 
) const [virtual]

Implements Light.

Definition at line 81 of file diffuse.cpp.

References Dot(), INFINITY, INV_TWOPI, L(), ShapeSet::Pdf(), ShapeSet::Sample(), shapeSet, and UniformSampleSphere().

Spectrum DiffuseAreaLight::Sample_L ( const Point P,
float  pEpsilon,
const LightSample ls,
float  time,
Vector wo,
float *  pdf,
VisibilityTester visibility 
) const [virtual]

Implements Light.

Definition at line 61 of file diffuse.cpp.

References L(), Normalize(), ShapeSet::Pdf(), ShapeSet::Sample(), VisibilityTester::SetSegment(), and shapeSet.


Member Data Documentation

float DiffuseAreaLight::area [protected]

Definition at line 57 of file diffuse.h.

Referenced by DiffuseAreaLight(), and Power().

Definition at line 55 of file diffuse.h.

Referenced by DiffuseAreaLight(), L(), and Power().

Definition at line 56 of file diffuse.h.

Referenced by DiffuseAreaLight(), Pdf(), Sample_L(), and ~DiffuseAreaLight().


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