lux::ProjectionLight Class Reference

#include <projection.h>

Inheritance diagram for lux::ProjectionLight:

lux::Light

List of all members.

Public Member Functions

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

Static Public Member Functions

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

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 33 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 70 of file projection.cpp.

References projectionMap.


Member Function Documentation

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

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

Implements lux::Light.

Definition at line 40 of file projection.h.

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

Implements lux::Light.

Definition at line 107 of file projection.cpp.

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

Implements lux::Light.

Definition at line 42 of file projection.h.

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

Spectrum ProjectionLight::Projection ( const Vector w  )  const

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

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

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


Member Data Documentation

Definition at line 62 of file projection.h.

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

Definition at line 60 of file projection.h.

Referenced by Projection(), and ProjectionLight().

Definition at line 58 of file projection.h.

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

Definition at line 57 of file projection.h.

Referenced by ProjectionLight(), and Sample_L().

Definition at line 59 of file projection.h.

Referenced by Projection(), and ProjectionLight().

Definition at line 56 of file projection.h.

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

Definition at line 61 of file projection.h.

Referenced by Projection(), and ProjectionLight().

Definition at line 61 of file projection.h.

Referenced by Projection(), and ProjectionLight().

Definition at line 61 of file projection.h.

Referenced by Projection(), and ProjectionLight().

Definition at line 61 of file projection.h.

Referenced by Projection(), and ProjectionLight().

float lux::ProjectionLight::yon [private]

Definition at line 60 of file projection.h.

Referenced by ProjectionLight().


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

Generated on Mon May 18 07:13:52 2009 for lux by  doxygen 1.5.8