ProjectionLight Class Reference

Inheritance diagram for ProjectionLight:

Light

List of all members.

Public Member Functions

 ProjectionLight (const Transform &light2world, const Spectrum &intensity, const string &texname, float fov)
 ~ProjectionLight ()
Spectrum Sample_L (const Point &p, Vector *wi, VisibilityTester *vis) const
bool IsDeltaLight () const
Spectrum Projection (const Vector &w) const
Spectrum Power (const Scene *) const
Spectrum Sample_L (const Point &P, float u1, float u2, Vector *wo, 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 Vector &) const

Private Attributes

MIPMap< Spectrum > * projectionMap
Point lightPos
Spectrum Intensity
Transform lightProjection
float hither
float yon
float screenX0
float screenX1
float screenY0
float screenY1
float cosTotalWidth


Detailed Description

Definition at line 30 of file projection.cpp.


Constructor & Destructor Documentation

ProjectionLight::ProjectionLight ( const Transform light2world,
const Spectrum intensity,
const string &  texname,
float  fov 
)

ProjectionLight::~ProjectionLight (  ) 

Definition at line 93 of file projection.cpp.

References projectionMap.


Member Function Documentation

Spectrum ProjectionLight::Sample_L ( const Point p,
Vector wi,
VisibilityTester vis 
) const [virtual]

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

Implements Light.

Definition at line 37 of file projection.cpp.

Spectrum ProjectionLight::Projection ( const Vector w  )  const

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

Implements Light.

Definition at line 39 of file projection.cpp.

References cosTotalWidth, Intensity, MIPMap< T >::Lookup(), M_PI, and projectionMap.

Spectrum ProjectionLight::Sample_L ( const Point P,
float  u1,
float  u2,
Vector wo,
float *  pdf,
VisibilityTester visibility 
) const [virtual]

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

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

Implements Light.

Definition at line 130 of file projection.cpp.


Member Data Documentation

Definition at line 50 of file projection.cpp.

Referenced by Power(), Projection(), ProjectionLight(), and ~ProjectionLight().

Definition at line 51 of file projection.cpp.

Referenced by ProjectionLight(), and Sample_L().

Definition at line 52 of file projection.cpp.

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

Definition at line 53 of file projection.cpp.

Referenced by Projection(), and ProjectionLight().

float ProjectionLight::hither [private]

Definition at line 54 of file projection.cpp.

Referenced by Projection(), and ProjectionLight().

float ProjectionLight::yon [private]

Definition at line 54 of file projection.cpp.

Referenced by ProjectionLight().

float ProjectionLight::screenX0 [private]

Definition at line 55 of file projection.cpp.

Referenced by Projection(), and ProjectionLight().

float ProjectionLight::screenX1 [private]

Definition at line 55 of file projection.cpp.

Referenced by Projection(), and ProjectionLight().

float ProjectionLight::screenY0 [private]

Definition at line 55 of file projection.cpp.

Referenced by Projection(), and ProjectionLight().

float ProjectionLight::screenY1 [private]

Definition at line 55 of file projection.cpp.

Referenced by Projection(), and ProjectionLight().

Definition at line 56 of file projection.cpp.

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


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