rcrt::Phong Class Reference

#include <Phong.h>

Inheritance diagram for rcrt::Phong:

Inheritance graph
[legend]
Collaboration diagram for rcrt::Phong:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Phong (const RGBColor &Kd, const RGBColor &Ks, const float &e)
virtual ~Phong ()
virtual RGBColor eval (const Vec3D &wOut, const Vec3D &wInc, const Vec3D &normal) const
virtual RGBColor evalDiffuse (const Vec3D &wOut, const Vec3D &wInc, const Vec3D &normal) const
virtual RGBColor evalSpecular (const Vec3D &wOut, const Vec3D &wInc, const Vec3D &normal) const
float pdf (const Vec3D &wOut, const Vec3D &wInc, const Vec3D &normal) const
virtual bool specular () const
virtual bool glossy () const
virtual bool diffuse () const
virtual bool fresnel () const

Private Attributes

float n


Detailed Description

Physically plausible(for Kd+Ks <= 1) Phong BRDF from: "Using the Modified Phong brdf for Physically Based Rendering" Eric P. Lafortune and Yves D. Willems, Report CW197, Department of Computer Science, K. U. Leuven. 1994

Definition at line 14 of file Phong.h.


Constructor & Destructor Documentation

rcrt::Phong::Phong ( const RGBColor Kd,
const RGBColor Ks,
const float &  e 
)

Definition at line 8 of file Phong.cpp.

rcrt::Phong::~Phong (  )  [virtual]

Definition at line 13 of file Phong.cpp.


Member Function Documentation

RGBColor rcrt::Phong::eval ( const Vec3D wOut,
const Vec3D wInc,
const Vec3D normal 
) const [virtual]

Implements rcrt::BXDF.

Definition at line 17 of file Phong.cpp.

References evalSpecular(), and rcrt::BXDF::kd.

RGBColor rcrt::Phong::evalDiffuse ( const Vec3D wOut,
const Vec3D wInc,
const Vec3D normal 
) const [virtual]

Implements rcrt::BXDF.

Definition at line 22 of file Phong.cpp.

References rcrt::BXDF::kd.

RGBColor rcrt::Phong::evalSpecular ( const Vec3D wOut,
const Vec3D wInc,
const Vec3D normal 
) const [virtual]

Implements rcrt::BXDF.

Definition at line 27 of file Phong.cpp.

References rcrt::BXDF::ks, n, and rcrt::Vec3D::reflect().

Referenced by eval().

float rcrt::Phong::pdf ( const Vec3D wOut,
const Vec3D wInc,
const Vec3D normal 
) const

Definition at line 59 of file Phong.cpp.

References n, and rcrt::Vec3D::reflect().

bool rcrt::Phong::specular (  )  const [virtual]

Implements rcrt::BXDF.

Definition at line 39 of file Phong.cpp.

bool rcrt::Phong::glossy (  )  const [virtual]

Implements rcrt::BXDF.

Definition at line 44 of file Phong.cpp.

bool rcrt::Phong::diffuse (  )  const [virtual]

Implements rcrt::BXDF.

Definition at line 49 of file Phong.cpp.

bool rcrt::Phong::fresnel (  )  const [virtual]

Implements rcrt::BXDF.

Definition at line 54 of file Phong.cpp.


Member Data Documentation

float rcrt::Phong::n [private]

Definition at line 19 of file Phong.h.

Referenced by evalSpecular(), and pdf().


The documentation for this class was generated from the following files:
Generated on Thu Jan 31 19:32:21 2008 for RenderingCompetitionRayTracer by  doxygen 1.5.3