#include <path.h>
Definition at line 32 of file integrators/path.h.
Definition at line 35 of file integrators/path.h.
lux::PathIntegrator::PathIntegrator | ( | LightStrategy | st, | |
RRStrategy | rst, | |||
int | md, | |||
float | cp | |||
) | [inline] |
Definition at line 43 of file integrators/path.h.
References continueProbability, lightStrategy, maxDepth, and rrStrategy.
Referenced by clone(), and CreateSurfaceIntegrator().
virtual lux::PathIntegrator::~PathIntegrator | ( | ) | [inline, virtual] |
Definition at line 49 of file integrators/path.h.
lux::PathIntegrator::PathIntegrator | ( | int | md, | |
float | cp, | |||
bool | mlt, | |||
int | maxreject, | |||
float | plarge | |||
) | [inline] |
Definition at line 38 of file pbrtattic/integrators/path.h.
References bsdfComponentOffset, bsdfDirectionOffset, continueOffset, continueProbability, lightNumOffset, lightPositionOffset, maxDepth, maxReject, outgoingComponentOffset, outgoingDirectionOffset, pLarge, and useMlt.
virtual lux::PathIntegrator::~PathIntegrator | ( | ) | [inline, virtual] |
Definition at line 49 of file pbrtattic/integrators/path.h.
References outgoingComponentOffset, and outgoingDirectionOffset.
PathIntegrator * PathIntegrator::clone | ( | ) | const [virtual] |
Definition at line 29 of file pbrtattic/integrators/path.cpp.
References bsdfComponentOffset, bsdfDirectionOffset, continueOffset, lightNumOffset, lightPositionOffset, maxDepth, outgoingComponentOffset, outgoingDirectionOffset, and PathIntegrator().
static SurfaceIntegrator* lux::PathIntegrator::CreateSurfaceIntegrator | ( | const ParamSet & | params | ) | [static] |
SurfaceIntegrator * PathIntegrator::CreateSurfaceIntegrator | ( | const ParamSet & | params | ) | [static] |
Definition at line 177 of file integrators/path.cpp.
References lux::ParamSet::FindOneFloat(), lux::ParamSet::FindOneInt(), lux::ParamSet::FindOneString(), LUX_BADTOKEN, LUX_WARNING, luxError, maxDepth, PathIntegrator(), RR_EFFICIENCY, RR_NONE, RR_PROBABILITY, SAMPLE_ALL_UNIFORM, SAMPLE_AUTOMATIC, and SAMPLE_ONE_UNIFORM.
Referenced by lux::MakeSurfaceIntegrator().
IntegrationSampler * PathIntegrator::HasIntegrationSampler | ( | IntegrationSampler * | isa | ) |
Definition at line 64 of file pbrtattic/integrators/path.cpp.
References maxReject, mltIntegrationSampler, pLarge, and useMlt.
Spectrum lux::PathIntegrator::Li | ( | const Scene * | scene, | |
const RayDifferential & | ray, | |||
const Sample * | sample, | |||
float * | alpha | |||
) | const [virtual] |
Implements lux::Integrator.
Spectrum PathIntegrator::Li | ( | const Scene * | scene, | |
const RayDifferential & | ray, | |||
const Sample * | sample, | |||
float * | newAlpha | |||
) | const [virtual] |
Implements lux::Integrator.
Definition at line 53 of file integrators/path.cpp.
References lux::AbsDot(), lux::Sample::AddContribution(), lux::SWCSpectrum::Black(), lux::BSDF_ALL, lux::BSDF_SPECULAR, continueProbability, lux::Ray::d, lux::BSDF::dgShading, lux::SWCSpectrum::filter(), lux::Intersection::GetBSDF(), lux::Sampler::GetLazyValues(), lux::Sample::imageX, lux::Sample::imageY, lux::Scene::Intersect(), lux::Intersection::Le(), lux::Integrator::Li(), lux::Scene::lights, lightStrategy, maxDepth, lux::Ray::maxt, lux::DifferentialGeometry::nn, lux::DifferentialGeometry::p, blender::p, RR_EFFICIENCY, RR_PROBABILITY, rrStrategy, SAMPLE_ALL_UNIFORM, lux::BSDF::Sample_f(), SAMPLE_ONE_UNIFORM, sampleOffset, lux::Sample::sampler, lux::SWCSpectrum::ToXYZ(), lux::Scene::Transmittance(), lux::VolumeIntegrator::Transmittance(), lux::UniformSampleAllLights(), lux::UniformSampleOneLight(), and lux::Scene::volumeIntegrator.
Reimplemented from lux::Integrator.
Reimplemented from lux::Integrator.
Definition at line 32 of file integrators/path.cpp.
References lux::Sample::AddxD(), lux::Scene::lights, lightStrategy, maxDepth, RR_NONE, rrStrategy, SAMPLE_ALL_UNIFORM, SAMPLE_AUTOMATIC, SAMPLE_ONE_UNIFORM, and sampleOffset.
int* lux::PathIntegrator::bsdfComponentOffset [private] |
Definition at line 63 of file pbrtattic/integrators/path.h.
Referenced by clone(), and PathIntegrator().
int* lux::PathIntegrator::bsdfDirectionOffset [private] |
Definition at line 62 of file pbrtattic/integrators/path.h.
Referenced by clone(), and PathIntegrator().
int* lux::PathIntegrator::continueOffset [private] |
Definition at line 64 of file pbrtattic/integrators/path.h.
Referenced by clone(), and PathIntegrator().
float lux::PathIntegrator::continueProbability [private] |
int* lux::PathIntegrator::lightNumOffset [private] |
Definition at line 61 of file pbrtattic/integrators/path.h.
Referenced by clone(), and PathIntegrator().
int* lux::PathIntegrator::lightPositionOffset [private] |
Definition at line 60 of file pbrtattic/integrators/path.h.
Referenced by clone(), and PathIntegrator().
Definition at line 53 of file integrators/path.h.
Referenced by Li(), PathIntegrator(), and RequestSamples().
int lux::PathIntegrator::maxDepth [private] |
Definition at line 55 of file integrators/path.h.
Referenced by clone(), CreateSurfaceIntegrator(), Li(), PathIntegrator(), and RequestSamples().
int lux::PathIntegrator::maxReject [private] |
Definition at line 57 of file pbrtattic/integrators/path.h.
Referenced by HasIntegrationSampler(), and PathIntegrator().
IntegrationSampler* lux::PathIntegrator::mltIntegrationSampler [private] |
int* lux::PathIntegrator::outgoingComponentOffset [private] |
Definition at line 66 of file pbrtattic/integrators/path.h.
Referenced by clone(), PathIntegrator(), and ~PathIntegrator().
int* lux::PathIntegrator::outgoingDirectionOffset [private] |
Definition at line 65 of file pbrtattic/integrators/path.h.
Referenced by clone(), PathIntegrator(), and ~PathIntegrator().
float lux::PathIntegrator::pLarge [private] |
Definition at line 58 of file pbrtattic/integrators/path.h.
Referenced by HasIntegrationSampler(), and PathIntegrator().
RRStrategy lux::PathIntegrator::rrStrategy [private] |
Definition at line 54 of file integrators/path.h.
Referenced by Li(), PathIntegrator(), and RequestSamples().
int lux::PathIntegrator::sampleOffset [private] |
bool lux::PathIntegrator::useMlt [private] |
Definition at line 56 of file pbrtattic/integrators/path.h.
Referenced by HasIntegrationSampler(), and PathIntegrator().