#include <whitted.h>
Public Member Functions | |
Spectrum | Li (const Scene *scene, const RayDifferential &ray, const Sample *sample, float *alpha) const |
WhittedIntegrator (int md) | |
virtual WhittedIntegrator * | clone () const |
IntegrationSampler * | HasIntegrationSampler (IntegrationSampler *is) |
Static Public Member Functions | |
static SurfaceIntegrator * | CreateSurfaceIntegrator (const ParamSet ¶ms) |
Private Attributes | |
int | maxDepth |
int | rayDepth |
Definition at line 32 of file whitted.h.
lux::WhittedIntegrator::WhittedIntegrator | ( | int | md | ) | [inline] |
WhittedIntegrator * WhittedIntegrator::clone | ( | ) | const [virtual] |
Definition at line 29 of file whitted.cpp.
References WhittedIntegrator().
SurfaceIntegrator * WhittedIntegrator::CreateSurfaceIntegrator | ( | const ParamSet & | params | ) | [static] |
Definition at line 131 of file whitted.cpp.
References lux::ParamSet::FindOneInt(), maxDepth, and WhittedIntegrator().
IntegrationSampler* lux::WhittedIntegrator::HasIntegrationSampler | ( | IntegrationSampler * | is | ) | [inline] |
Spectrum WhittedIntegrator::Li | ( | const Scene * | scene, | |
const RayDifferential & | ray, | |||
const Sample * | sample, | |||
float * | alpha | |||
) | const |
Definition at line 34 of file whitted.cpp.
References lux::AbsDot(), lux::BSDF_REFLECTION, lux::BSDF_SPECULAR, lux::BSDF_TRANSMISSION, lux::Ray::d, lux::Intersection::dg, lux::BSDF::dgShading, lux::DifferentialGeometry::dndu, lux::DifferentialGeometry::dndv, lux::Dot(), lux::DifferentialGeometry::dpdx, lux::DifferentialGeometry::dpdy, lux::DifferentialGeometry::dudx, lux::DifferentialGeometry::dudy, lux::DifferentialGeometry::dvdx, lux::DifferentialGeometry::dvdy, lux::BSDF::eta, lux::BSDF::f(), lux::Intersection::GetBSDF(), lux::RayDifferential::hasDifferentials, lux::Scene::Intersect(), lux::Intersection::Le(), lux::Scene::Li(), lux::Scene::lights, maxDepth, lux::DifferentialGeometry::nn, lux::Ray::o, lux::DifferentialGeometry::p, p, rayDepth, lux::RayDifferential::rx, lux::RayDifferential::ry, lux::BSDF::Sample_f(), lux::VisibilityTester::Transmittance(), and lux::VisibilityTester::Unoccluded().
int lux::WhittedIntegrator::maxDepth [private] |
Definition at line 46 of file whitted.h.
Referenced by CreateSurfaceIntegrator(), Li(), and WhittedIntegrator().
int lux::WhittedIntegrator::rayDepth [mutable, private] |
Definition at line 47 of file whitted.h.
Referenced by Li(), and WhittedIntegrator().