lux::InfiniteAreaLight Class Reference

#include <infinite.h>

Inheritance diagram for lux::InfiniteAreaLight:

lux::Light

List of all members.

Public Member Functions

 InfiniteAreaLight (const Transform &light2world, const Spectrum &l, int ns, const string &texmap, float gain, float gamma)
 ~InfiniteAreaLight ()
SWCSpectrum Power (const Scene *scene) const
bool IsDeltaLight () const
SWCSpectrum Le (const RayDifferential &r) const
SWCSpectrum Sample_L (const Point &p, const Normal &n, float u1, float u2, float u3, Vector *wi, float *pdf, VisibilityTester *visibility) const
SWCSpectrum Sample_L (const Point &p, float u1, float u2, float u3, Vector *wi, 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 Normal &, const Vector &) const
float Pdf (const Point &, const Vector &) const
SWCSpectrum Sample_L (const Point &P, Vector *w, VisibilityTester *visibility) const

Static Public Member Functions

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

Private Attributes

SPDSPDbase
Spectrum Lbase
MIPMap< Spectrum > * radianceMap


Detailed Description

Definition at line 35 of file infinite.h.


Constructor & Destructor Documentation

InfiniteAreaLight::InfiniteAreaLight ( const Transform light2world,
const Spectrum l,
int  ns,
const string &  texmap,
float  gain,
float  gamma 
)

Definition at line 37 of file infinite.cpp.

References lux::BILINEAR, lux::ReadImage(), and lux::TEXTURE_REPEAT.

Referenced by CreateLight().

InfiniteAreaLight::~InfiniteAreaLight (  ) 

Definition at line 32 of file infinite.cpp.

References radianceMap, and SPDbase.


Member Function Documentation

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

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

Implements lux::Light.

Definition at line 53 of file infinite.h.

SWCSpectrum InfiniteAreaLight::Le ( const RayDifferential r  )  const [virtual]

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

Implements lux::Light.

Definition at line 166 of file infinite.cpp.

References M_PI.

float InfiniteAreaLight::Pdf ( const Point ,
const Normal n,
const Vector wi 
) const [virtual]

Reimplemented from lux::Light.

Definition at line 125 of file infinite.cpp.

References lux::AbsDot(), and INV_TWOPI.

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

Implements lux::Light.

Definition at line 41 of file infinite.h.

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

SWCSpectrum InfiniteAreaLight::Sample_L ( const Point P,
Vector w,
VisibilityTester visibility 
) const [virtual]

Implements lux::Light.

Definition at line 209 of file infinite.cpp.

References lux::random::floatValue(), and Sample_L().

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

SWCSpectrum InfiniteAreaLight::Sample_L ( const Point p,
float  u1,
float  u2,
float  u3,
Vector wi,
float *  pdf,
VisibilityTester visibility 
) const [virtual]

SWCSpectrum InfiniteAreaLight::Sample_L ( const Point p,
const Normal n,
float  u1,
float  u2,
float  u3,
Vector wi,
float *  pdf,
VisibilityTester visibility 
) const [virtual]


Member Data Documentation

Definition at line 71 of file infinite.h.

Referenced by Le(), and Power().

Definition at line 72 of file infinite.h.

Referenced by Le(), Power(), and ~InfiniteAreaLight().

Definition at line 70 of file infinite.h.

Referenced by Le(), Power(), and ~InfiniteAreaLight().


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

Generated on Mon May 18 07:18:37 2009 for lux by  doxygen 1.5.7.1