lux::SpecularReflection Class Reference

#include <specularreflection.h>

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

List of all members.

Public Member Functions

 SpecularReflection (const SWCSpectrum &r, Fresnel *fr, float flm, float flmindex)
virtual ~SpecularReflection ()
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 &wo, Vector *wi, float u1, float u2, SWCSpectrum *const f, float *pdf, float *pdfBack=NULL, bool reverse=false) const
virtual float Weight (const TsPack *tspack, const Vector &wo) const
virtual float Pdf (const TsPack *tspack, const Vector &wo, const Vector &wi) const

Private Attributes

SWCSpectrum R
Fresnelfresnel
float film
float filmindex

Detailed Description

Definition at line 33 of file specularreflection.h.


Constructor & Destructor Documentation

lux::SpecularReflection::SpecularReflection ( const SWCSpectrum r,
Fresnel fr,
float  flm,
float  flmindex 
) [inline]

Definition at line 36 of file specularreflection.h.

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

Definition at line 40 of file specularreflection.h.


Member Function Documentation

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

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

Implements lux::BxDF.

Definition at line 41 of file specularreflection.h.

Referenced by Sample_f().

virtual float lux::SpecularReflection::Pdf ( const TsPack tspack,
const Vector wo,
const Vector wi 
) const [inline, virtual]

Reimplemented from lux::BxDF.

Definition at line 47 of file specularreflection.h.

bool SpecularReflection::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.

Reimplemented in lux::ArchitecturalReflection.

Definition at line 42 of file specularreflection.cpp.

References lux::CosTheta(), lux::Fresnel::Evaluate(), f(), film, filmindex, fresnel, PhaseDifference(), R, lux::Vector::x, lux::Vector::y, and lux::Vector::z.

float SpecularReflection::Weight ( const TsPack tspack,
const Vector wo 
) const [virtual]

Reimplemented from lux::BxDF.

Reimplemented in lux::ArchitecturalReflection.

Definition at line 55 of file specularreflection.cpp.

References lux::CosTheta(), lux::Fresnel::Evaluate(), lux::SWCSpectrum::Filter(), and fresnel.


Member Data Documentation

Definition at line 54 of file specularreflection.h.

Referenced by Sample_f().

Definition at line 54 of file specularreflection.h.

Referenced by Sample_f().

Definition at line 53 of file specularreflection.h.

Referenced by Sample_f(), and Weight().

Definition at line 52 of file specularreflection.h.

Referenced by Sample_f().


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