lux::DistantLight Class Reference

#include <distant.h>

Inheritance diagram for lux::DistantLight:
[legend]
Collaboration diagram for lux::DistantLight:
[legend]

List of all members.

Public Member Functions

 DistantLight (const Transform &light2world, const boost::shared_ptr< Texture< SWCSpectrum > > L, float gain, const Vector &dir)
virtual ~DistantLight ()
virtual bool IsDeltaLight () const
virtual bool IsEnvironmental () const
virtual SWCSpectrum Power (const TsPack *tspack, const Scene *scene) const
virtual SWCSpectrum Sample_L (const TsPack *tspack, const Point &P, float u1, float u2, float u3, Vector *wo, float *pdf, VisibilityTester *visibility) const
virtual SWCSpectrum Sample_L (const TsPack *tspack, const Scene *scene, float u1, float u2, float u3, float u4, Ray *ray, float *pdf) const
virtual float Pdf (const Point &, const Vector &) const
virtual float Pdf (const Point &p, const Normal &n, const Point &po, const Normal &ns) const

Static Public Member Functions

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

Private Attributes

Vector lightDir
boost::shared_ptr< Texture
< SWCSpectrum > > 
Lbase
DifferentialGeometry dummydg
float gain

Detailed Description

Definition at line 34 of file distant.h.


Constructor & Destructor Documentation

DistantLight::DistantLight ( const Transform light2world,
const boost::shared_ptr< Texture< SWCSpectrum > >  L,
float  gain,
const Vector dir 
)

Definition at line 32 of file distant.cpp.

References gain, Lbase, lightDir, lux::Light::LightToWorld, and lux::Normalize().

Referenced by CreateLight().

DistantLight::~DistantLight (  )  [virtual]

Definition at line 41 of file distant.cpp.


Member Function Documentation

Light * DistantLight::CreateLight ( const Transform light2world,
const ParamSet paramSet,
const TextureParams tp 
) [static]
virtual bool lux::DistantLight::IsDeltaLight (  )  const [inline, virtual]

Implements lux::Light.

Definition at line 41 of file distant.h.

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

Implements lux::Light.

Definition at line 42 of file distant.h.

float DistantLight::Pdf ( const Point p,
const Normal n,
const Point po,
const Normal ns 
) const [virtual]

Implements lux::Light.

Definition at line 54 of file distant.cpp.

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

Implements lux::Light.

Definition at line 51 of file distant.cpp.

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

Implements lux::Light.

Definition at line 43 of file distant.h.

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

SWCSpectrum DistantLight::Sample_L ( const TsPack tspack,
const Scene scene,
float  u1,
float  u2,
float  u3,
float  u4,
Ray ray,
float *  pdf 
) const [virtual]
SWCSpectrum DistantLight::Sample_L ( const TsPack tspack,
const Point P,
float  u1,
float  u2,
float  u3,
Vector wo,
float *  pdf,
VisibilityTester visibility 
) const [virtual]

Implements lux::Light.

Definition at line 44 of file distant.cpp.

References dummydg, gain, Lbase, lightDir, lux::VisibilityTester::SetRay(), and lux::TsPack::time.


Member Data Documentation

Definition at line 64 of file distant.h.

Referenced by Power(), and Sample_L().

float lux::DistantLight::gain [private]

Definition at line 65 of file distant.h.

Referenced by DistantLight(), and Sample_L().

boost::shared_ptr< Texture<SWCSpectrum> > lux::DistantLight::Lbase [private]

Definition at line 63 of file distant.h.

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

Definition at line 62 of file distant.h.

Referenced by DistantLight(), and Sample_L().


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.2-20100208