lux::Lafortune Class Reference

#include <lafortune.h>

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

List of all members.

Public Member Functions

 Lafortune (const SWCSpectrum &x, const SWCSpectrum &y, const SWCSpectrum &z, const SWCSpectrum &e, BxDFType t)
virtual ~Lafortune ()
virtual void f (const TsPack *tspack, const Vector &wo, const Vector &wi, SWCSpectrum *const f) const
virtual bool Sample_f (const TsPack *tspack, const Vector &wi, Vector *sampled_f, float u1, float u2, SWCSpectrum *const f, float *pdf, float *pdfBack=NULL, bool reverse=false) const
virtual float Pdf (const TsPack *tspack, const Vector &wi, const Vector &wo) const

Private Attributes

const SWCSpectrum x
const SWCSpectrum y
const SWCSpectrum z
const SWCSpectrum exponent

Detailed Description

Definition at line 33 of file lafortune.h.


Constructor & Destructor Documentation

Lafortune::Lafortune ( const SWCSpectrum x,
const SWCSpectrum y,
const SWCSpectrum z,
const SWCSpectrum e,
BxDFType  t 
)

Definition at line 30 of file lafortune.cpp.

virtual lux::Lafortune::~Lafortune (  )  [inline, virtual]

Definition at line 38 of file lafortune.h.


Member Function Documentation

void Lafortune::f ( const TsPack tspack,
const Vector wo,
const Vector wi,
SWCSpectrum *const   f 
) const [virtual]

Evaluates the BxDF. Accumulates the result in the f parameter.

Implements lux::BxDF.

Definition at line 35 of file lafortune.cpp.

References exponent, lux::SWCSpectrum::Pow(), lux::Vector::x, x, lux::Vector::y, y, lux::Vector::z, and z.

Referenced by Pdf(), and Sample_f().

float Lafortune::Pdf ( const TsPack tspack,
const Vector wi,
const Vector wo 
) const [virtual]
bool Lafortune::Sample_f ( const TsPack tspack,
const Vector wo,
Vector wi,
float  u1,
float  u2,
SWCSpectrum *const   f,
float *  pdf,
float *  pdfBack = NULL,
bool  reverse = false 
) const [virtual]

Samples the BxDF. Returns the result of the BxDF for the sampled direction in f.

Reimplemented from lux::BxDF.

Definition at line 40 of file lafortune.cpp.

References lux::CoordinateSystem(), exponent, f(), lux::SWCSpectrum::Filter(), M_PI, cimg_library::cimg::max(), lux::Normalize(), Pdf(), lux::SameHemisphere(), lux::SphericalDirection(), lux::Vector::x, x, lux::Vector::y, y, lux::SWCSpectrum::Y(), lux::Vector::z, and z.


Member Data Documentation

Definition at line 45 of file lafortune.h.

Referenced by f(), Pdf(), and Sample_f().

const SWCSpectrum lux::Lafortune::x [private]

Definition at line 45 of file lafortune.h.

Referenced by f(), Pdf(), and Sample_f().

const SWCSpectrum lux::Lafortune::y [private]

Definition at line 45 of file lafortune.h.

Referenced by f(), Pdf(), and Sample_f().

const SWCSpectrum lux::Lafortune::z [private]

Definition at line 45 of file lafortune.h.

Referenced by f(), Pdf(), and Sample_f().


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