lux::ProjectionLight Class Reference

#include <projection.h>

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

List of all members.

Public Member Functions

 ProjectionLight (const Transform &light2world, const boost::shared_ptr< Texture< SWCSpectrum > > L, float gain, const string &texname, float fov)
virtual ~ProjectionLight ()
virtual bool IsDeltaLight () const
virtual bool IsEnvironmental () const
RGBColor Projection (const Vector &w) const
virtual SWCSpectrum Power (const TsPack *tspack, const Scene *) const
virtual SWCSpectrum Sample_L (const TsPack *tspack, const Point &P, float u1, float u2, float u3, Vector *wo, 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 Vector &) const
virtual float Pdf (const Point &p, const Normal &n, const Point &po, const Normal &ns) const

Static Public Member Functions

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

Private Attributes

MIPMap< RGBColor > * projectionMap
Point lightPos
boost::shared_ptr< Texture
< SWCSpectrum > > 
Lbase
DifferentialGeometry dummydg
float gain
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 boost::shared_ptr< Texture< SWCSpectrum > >  L,
float  gain,
const string &  texname,
float  fov 
)
ProjectionLight::~ProjectionLight (  )  [virtual]

Definition at line 72 of file projection.cpp.

References projectionMap.


Member Function Documentation

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

Implements lux::Light.

Definition at line 40 of file projection.h.

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

Implements lux::Light.

Definition at line 41 of file projection.h.

float ProjectionLight::Pdf ( const Point p,
const Normal n,
const Point po,
const Normal ns 
) const [virtual]

Implements lux::Light.

Definition at line 105 of file projection.cpp.

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

Implements lux::Light.

Definition at line 102 of file projection.cpp.

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

Implements lux::Light.

Definition at line 43 of file projection.h.

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

RGBColor ProjectionLight::Projection ( const Vector w  )  const
SWCSpectrum ProjectionLight::Sample_L ( const TsPack tspack,
const Scene scene,
float  u1,
float  u2,
float  u3,
float  u4,
Ray ray,
float *  pdf 
) const [virtual]
SWCSpectrum ProjectionLight::Sample_L ( const TsPack tspack,
const Point P,
float  u1,
float  u2,
float  u3,
Vector wo,
float *  pdf,
VisibilityTester visibility 
) const [virtual]

Member Data Documentation

Definition at line 68 of file projection.h.

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

Definition at line 63 of file projection.h.

Referenced by Power(), and Sample_L().

float lux::ProjectionLight::gain [private]

Definition at line 64 of file projection.h.

Referenced by ProjectionLight(), and Sample_L().

Definition at line 66 of file projection.h.

Referenced by Projection(), and ProjectionLight().

boost::shared_ptr< Texture<SWCSpectrum> > lux::ProjectionLight::Lbase [private]

Definition at line 62 of file projection.h.

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

Definition at line 61 of file projection.h.

Referenced by ProjectionLight(), and Sample_L().

Definition at line 65 of file projection.h.

Referenced by Projection(), and ProjectionLight().

Definition at line 60 of file projection.h.

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

Definition at line 67 of file projection.h.

Referenced by Projection(), and ProjectionLight().

Definition at line 67 of file projection.h.

Referenced by Projection(), and ProjectionLight().

Definition at line 67 of file projection.h.

Referenced by Projection(), and ProjectionLight().

Definition at line 67 of file projection.h.

Referenced by Projection(), and ProjectionLight().

float lux::ProjectionLight::yon [private]

Definition at line 66 of file projection.h.

Referenced by ProjectionLight().


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