lux::PointLight Class Reference

#include <point.h>

Inheritance diagram for lux::PointLight:

lux::Light

List of all members.

Public Member Functions

 PointLight (const Transform &light2world, const Spectrum &le, float gain)
 ~PointLight ()
SWCSpectrum Sample_L (const Point &p, Vector *wi, VisibilityTester *vis) const
SWCSpectrum Power (const Scene *) const
bool IsDeltaLight () const
SWCSpectrum Sample_L (const Point &P, float u1, float u2, float u3, Vector *wo, float *pdf, VisibilityTester *visibility) const
SWCSpectrum 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

Static Public Member Functions

static LightCreateLight (const Transform &light2world, const ParamSet &paramSet)

Private Attributes

Point lightPos
SPDLSPD


Detailed Description

Definition at line 32 of file lights/point.h.


Constructor & Destructor Documentation

PointLight::PointLight ( const Transform light2world,
const Spectrum le,
float  gain 
)

Definition at line 31 of file point.cpp.

References lightPos, lux::Light::LightToWorld, LSPD, and lux::SPD::Scale().

Referenced by CreateLight().

lux::PointLight::~PointLight (  )  [inline]

Definition at line 36 of file lights/point.h.

References LSPD.


Member Function Documentation

Light * PointLight::CreateLight ( const Transform light2world,
const ParamSet paramSet 
) [static]

bool lux::PointLight::IsDeltaLight (  )  const [inline, virtual]

Implements lux::Light.

Definition at line 41 of file lights/point.h.

float PointLight::Pdf ( const Point ,
const Vector  
) const [virtual]

Implements lux::Light.

Definition at line 51 of file point.cpp.

SWCSpectrum lux::PointLight::Power ( const Scene  )  const [inline, virtual]

Implements lux::Light.

Definition at line 38 of file lights/point.h.

References LSPD, and M_PI.

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

Implements lux::Light.

Definition at line 54 of file point.cpp.

References lux::Ray::d, lightPos, LSPD, lux::Ray::o, lux::UniformSampleSphere(), and lux::UniformSpherePdf().

SWCSpectrum PointLight::Sample_L ( const Point P,
float  u1,
float  u2,
float  u3,
Vector wo,
float *  pdf,
VisibilityTester visibility 
) const [virtual]

Implements lux::Light.

Definition at line 45 of file point.cpp.

References Sample_L().

SWCSpectrum PointLight::Sample_L ( const Point p,
Vector wi,
VisibilityTester vis 
) const [virtual]

Implements lux::Light.

Definition at line 39 of file point.cpp.

References lux::DistanceSquared(), lightPos, LSPD, lux::Normalize(), and lux::VisibilityTester::SetSegment().

Referenced by Sample_L().


Member Data Documentation

Definition at line 52 of file lights/point.h.

Referenced by PointLight(), and Sample_L().

Definition at line 53 of file lights/point.h.

Referenced by PointLight(), Power(), Sample_L(), and ~PointLight().


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

Generated on Mon May 18 07:16:40 2009 for lux by  doxygen 1.5.8