Public Member Functions | |
Spectrum | Li (const Scene *scene, const RayDifferential &ray, const Sample *sample, float *alpha) const |
void | RequestSamples (Sample *sample, const Scene *scene) |
PathIntegrator (int md) | |
Private Attributes | |
int | maxDepth |
int | lightPositionOffset [SAMPLE_DEPTH] |
int | lightNumOffset [SAMPLE_DEPTH] |
int | bsdfDirectionOffset [SAMPLE_DEPTH] |
int | bsdfComponentOffset [SAMPLE_DEPTH] |
int | outgoingDirectionOffset [SAMPLE_DEPTH] |
int | outgoingComponentOffset [SAMPLE_DEPTH] |
Definition at line 29 of file path.cpp.
PathIntegrator::PathIntegrator | ( | int | md | ) | [inline] |
Definition at line 34 of file path.cpp.
References maxDepth.
Referenced by CreateSurfaceIntegrator().
Spectrum PathIntegrator::Li | ( | const Scene * | scene, | |
const RayDifferential & | ray, | |||
const Sample * | sample, | |||
float * | alpha | |||
) | const [virtual] |
Implements Integrator.
Definition at line 58 of file path.cpp.
References AbsDot(), Spectrum::Black(), BSDF_ALL, BSDF_SPECULAR, bsdfComponentOffset, bsdfDirectionOffset, Ray::d, BSDF::dgShading, Intersection::GetBSDF(), Scene::Intersect(), Intersection::Le(), lightNumOffset, lightPositionOffset, Scene::lights, maxDepth, Ray::maxt, DifferentialGeometry::nn, Sample::oneD, outgoingComponentOffset, outgoingDirectionOffset, DifferentialGeometry::p, RandomFloat(), SAMPLE_DEPTH, BSDF::Sample_f(), Scene::Transmittance(), Sample::twoD, and UniformSampleOneLight().
Reimplemented from Integrator.
Definition at line 47 of file path.cpp.
References Sample::Add1D(), Sample::Add2D(), bsdfComponentOffset, bsdfDirectionOffset, lightNumOffset, lightPositionOffset, outgoingComponentOffset, outgoingDirectionOffset, and SAMPLE_DEPTH.
int PathIntegrator::maxDepth [private] |
Definition at line 37 of file path.cpp.
Referenced by CreateSurfaceIntegrator(), Li(), and PathIntegrator().
int PathIntegrator::lightPositionOffset[SAMPLE_DEPTH] [private] |
int PathIntegrator::lightNumOffset[SAMPLE_DEPTH] [private] |
int PathIntegrator::bsdfDirectionOffset[SAMPLE_DEPTH] [private] |
int PathIntegrator::bsdfComponentOffset[SAMPLE_DEPTH] [private] |
int PathIntegrator::outgoingDirectionOffset[SAMPLE_DEPTH] [private] |
int PathIntegrator::outgoingComponentOffset[SAMPLE_DEPTH] [private] |