lux::InfiniteAreaLight Class Reference

#include <infinite.h>

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

List of all members.

Public Member Functions

 InfiniteAreaLight (const Transform &light2world, const RGBColor &l, int ns, const string &texmap, EnvironmentMapping *m, float gain, float gamma)
virtual ~InfiniteAreaLight ()
virtual SWCSpectrum Power (const TsPack *tspack, const Scene *scene) const
virtual bool IsDeltaLight () const
virtual bool IsEnvironmental () const
virtual SWCSpectrum Le (const TsPack *tspack, const RayDifferential &r) const
virtual SWCSpectrum Le (const TsPack *tspack, const Scene *scene, const Ray &r, const Normal &n, BSDF **bsdf, float *pdf, float *pdfDirect) const
virtual SWCSpectrum Sample_L (const TsPack *tspack, const Point &p, const Normal &n, float u1, float u2, float u3, Vector *wi, float *pdf, VisibilityTester *visibility) const
virtual SWCSpectrum Sample_L (const TsPack *tspack, const Point &p, float u1, float u2, float u3, Vector *wi, 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 Normal &, const Vector &) 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
virtual bool Sample_L (const TsPack *tspack, const Scene *scene, float u1, float u2, float u3, BSDF **bsdf, float *pdf, SWCSpectrum *Le) const
virtual bool Sample_L (const TsPack *tspack, const Scene *scene, const Point &p, const Normal &n, float u1, float u2, float u3, BSDF **bsdf, float *pdf, float *pdfDirect, VisibilityTester *visibility, SWCSpectrum *Le) const

Static Public Member Functions

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

Private Attributes

SPDSPDbase
RGBColor Lbase
MIPMap< RGBColor > * radianceMap
EnvironmentMappingmapping

Detailed Description

Definition at line 35 of file infinite.h.


Constructor & Destructor Documentation

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

Definition at line 118 of file infinite.cpp.

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

Referenced by CreateLight().

InfiniteAreaLight::~InfiniteAreaLight (  )  [virtual]

Definition at line 112 of file infinite.cpp.

References mapping, radianceMap, and SPDbase.


Member Function Documentation

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

Implements lux::Light.

Definition at line 52 of file infinite.h.

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

Implements lux::Light.

Definition at line 53 of file infinite.h.

SWCSpectrum InfiniteAreaLight::Le ( const TsPack tspack,
const Scene scene,
const Ray r,
const Normal n,
BSDF **  bsdf,
float *  pdf,
float *  pdfDirect 
) const [virtual]
SWCSpectrum InfiniteAreaLight::Le ( const TsPack tspack,
const RayDifferential r 
) const [virtual]
float InfiniteAreaLight::Pdf ( const Point p,
const Normal n,
const Point po,
const Normal ns 
) const [virtual]
float InfiniteAreaLight::Pdf ( const Point ,
const Vector  
) const [virtual]

Implements lux::Light.

Definition at line 321 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 258 of file infinite.cpp.

References lux::AbsDot(), and INV_TWOPI.

virtual SWCSpectrum lux::InfiniteAreaLight::Power ( const TsPack tspack,
const Scene scene 
) const [inline, virtual]
bool InfiniteAreaLight::Sample_L ( const TsPack tspack,
const Scene scene,
const Point p,
const Normal n,
float  u1,
float  u2,
float  u3,
BSDF **  bsdf,
float *  pdf,
float *  pdfDirect,
VisibilityTester visibility,
SWCSpectrum Le 
) const [virtual]
bool InfiniteAreaLight::Sample_L ( const TsPack tspack,
const Scene scene,
float  u1,
float  u2,
float  u3,
BSDF **  bsdf,
float *  pdf,
SWCSpectrum Le 
) const [virtual]
SWCSpectrum InfiniteAreaLight::Sample_L ( const TsPack tspack,
const Scene scene,
float  u1,
float  u2,
float  u3,
float  u4,
Ray ray,
float *  pdf 
) const [virtual]
SWCSpectrum InfiniteAreaLight::Sample_L ( const TsPack tspack,
const Point p,
float  u1,
float  u2,
float  u3,
Vector wi,
float *  pdf,
VisibilityTester visibility 
) const [virtual]
SWCSpectrum InfiniteAreaLight::Sample_L ( const TsPack tspack,
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 76 of file infinite.h.

Referenced by Le(), and Power().

Definition at line 78 of file infinite.h.

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

Definition at line 77 of file infinite.h.

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

Definition at line 75 of file infinite.h.

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


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