InfiniteAreaLight Class Reference

Inheritance diagram for InfiniteAreaLight:

Light

List of all members.

Public Member Functions

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

Private Attributes

Spectrum Lbase
MIPMap< Spectrum > * radianceMap


Detailed Description

Definition at line 32 of file infinite.cpp.


Constructor & Destructor Documentation

InfiniteAreaLight::InfiniteAreaLight ( const Transform light2world,
const Spectrum power,
int  ns,
const string &  texmap 
)

Definition at line 67 of file infinite.cpp.

References Lbase, radianceMap, and ReadImage().

Referenced by CreateLight().

InfiniteAreaLight::~InfiniteAreaLight (  ) 

Definition at line 63 of file infinite.cpp.

References radianceMap.


Member Function Documentation

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

Implements Light.

Definition at line 37 of file infinite.cpp.

References BBox::BoundingSphere(), Lbase, MIPMap< T >::Lookup(), M_PI, radianceMap, and Scene::WorldBound().

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

Implements Light.

Definition at line 45 of file infinite.cpp.

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

Reimplemented from Light.

Definition at line 84 of file infinite.cpp.

References Ray::d, INV_PI, INV_TWOPI, Lbase, MIPMap< T >::Lookup(), Normalize(), radianceMap, SphericalPhi(), SphericalTheta(), and Light::WorldToLight.

Referenced by Sample_L().

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

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

Implements Light.

Definition at line 121 of file infinite.cpp.

References Le(), VisibilityTester::SetRay(), UniformSampleSphere(), and UniformSpherePdf().

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

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

Reimplemented from Light.

Definition at line 117 of file infinite.cpp.

References AbsDot(), and INV_TWOPI.

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

Implements Light.

Definition at line 129 of file infinite.cpp.

References M_PI.

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

Implements Light.

Definition at line 155 of file infinite.cpp.

References RandomFloat(), and Sample_L().


Member Data Documentation

Definition at line 59 of file infinite.cpp.

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

Definition at line 60 of file infinite.cpp.

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


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

Generated on Mon Jul 20 17:31:55 2009 for pbrt by  doxygen 1.5.6