ProjectionLight Class Reference

#include <projection.h>

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, float pEpsilon, const LightSample &ls, float time, Vector *wi, float *pdf, VisibilityTester *vis) const
bool IsDeltaLight () const
Spectrum Projection (const Vector &w) const
Spectrum Power (const Scene *) const
Spectrum Sample_L (const Scene *scene, const LightSample &ls, float u1, float u2, float time, Ray *ray, Normal *Ns, float *pdf) const
float Pdf (const Point &, const Vector &) const

Private Attributes

MIPMap< RGBSpectrum > * 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 38 of file projection.h.


Constructor & Destructor Documentation

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

Definition at line 69 of file projection.cpp.

References projectionMap.


Member Function Documentation

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

Implements Light.

Definition at line 46 of file projection.h.

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

Implements Light.

Definition at line 124 of file projection.cpp.

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

Implements Light.

Definition at line 97 of file projection.cpp.

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

Spectrum ProjectionLight::Projection ( const Vector w  )  const
Spectrum ProjectionLight::Sample_L ( const Scene scene,
const LightSample ls,
float  u1,
float  u2,
float  time,
Ray ray,
Normal Ns,
float *  pdf 
) const [virtual]
Spectrum ProjectionLight::Sample_L ( const Point p,
float  pEpsilon,
const LightSample ls,
float  time,
Vector wi,
float *  pdf,
VisibilityTester vis 
) const [virtual]

Member Data Documentation

Definition at line 60 of file projection.h.

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

float ProjectionLight::hither [private]

Definition at line 58 of file projection.h.

Referenced by Projection(), and ProjectionLight().

Definition at line 56 of file projection.h.

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

Definition at line 55 of file projection.h.

Referenced by ProjectionLight(), and Sample_L().

Definition at line 57 of file projection.h.

Referenced by Projection(), and ProjectionLight().

Definition at line 54 of file projection.h.

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

float ProjectionLight::screenX0 [private]

Definition at line 59 of file projection.h.

Referenced by Projection(), and ProjectionLight().

float ProjectionLight::screenX1 [private]

Definition at line 59 of file projection.h.

Referenced by Projection(), and ProjectionLight().

float ProjectionLight::screenY0 [private]

Definition at line 59 of file projection.h.

Referenced by Projection(), and ProjectionLight().

float ProjectionLight::screenY1 [private]

Definition at line 59 of file projection.h.

Referenced by Projection(), and ProjectionLight().

float ProjectionLight::yon [private]

Definition at line 58 of file projection.h.

Referenced by ProjectionLight().


The documentation for this class was generated from the following files:
Generated on Sat Aug 28 20:00:14 2010 for pbrt by  doxygen 1.6.3