lux::DistantLight Class Reference

#include <distant.h>

Inheritance diagram for lux::DistantLight:

lux::Light

List of all members.

Public Member Functions

 DistantLight (const Transform &light2world, const Spectrum &radiance, float gain, const Vector &dir)
 ~DistantLight ()
bool IsDeltaLight () const
SWCSpectrum Sample_L (const Point &p, Vector *wi, VisibilityTester *) const
SWCSpectrum Power (const Scene *scene) 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

Vector lightDir
SPDLSPD


Detailed Description

Definition at line 33 of file distant.h.


Constructor & Destructor Documentation

DistantLight::DistantLight ( const Transform light2world,
const Spectrum radiance,
float  gain,
const Vector dir 
)

Definition at line 31 of file distant.cpp.

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

Referenced by CreateLight().

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

Definition at line 37 of file distant.h.

References LSPD.


Member Function Documentation

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

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

Implements lux::Light.

Definition at line 38 of file distant.h.

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

Implements lux::Light.

Definition at line 50 of file distant.cpp.

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

Implements lux::Light.

Definition at line 40 of file distant.h.

References lux::BBox::BoundingSphere(), LSPD, M_PI, and lux::Scene::WorldBound().

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

SWCSpectrum DistantLight::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 distant.cpp.

References Sample_L().

Referenced by Sample_L().

SWCSpectrum DistantLight::Sample_L ( const Point p,
Vector wi,
VisibilityTester visibility 
) const [virtual]

Implements lux::Light.

Definition at line 39 of file distant.cpp.

References lightDir, LSPD, and lux::VisibilityTester::SetRay().


Member Data Documentation

Definition at line 57 of file distant.h.

Referenced by DistantLight(), and Sample_L().

Definition at line 58 of file distant.h.

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


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

Generated on Tue Nov 10 01:36:41 2009 for lux by  doxygen 1.5.9