#include <path.h>
Public Member Functions | |
Spectrum | Li (const Scene *scene, const Renderer *renderer, const RayDifferential &ray, const Intersection &isect, const Sample *sample, RNG &rng, MemoryArena &arena) const |
void | RequestSamples (Sampler *sampler, Sample *sample, const Scene *scene) |
PathIntegrator (int md) | |
Private Attributes | |
int | maxDepth |
LightSampleOffsets | lightSampleOffsets [SAMPLE_DEPTH] |
int | lightNumOffset [SAMPLE_DEPTH] |
BSDFSampleOffsets | bsdfSampleOffsets [SAMPLE_DEPTH] |
BSDFSampleOffsets | pathSampleOffsets [SAMPLE_DEPTH] |
Definition at line 36 of file path.h.
PathIntegrator::PathIntegrator | ( | int | md | ) | [inline] |
Spectrum PathIntegrator::Li | ( | const Scene * | scene, | |
const Renderer * | renderer, | |||
const RayDifferential & | ray, | |||
const Intersection & | isect, | |||
const Sample * | sample, | |||
RNG & | rng, | |||
MemoryArena & | arena | |||
) | const [virtual] |
Implements SurfaceIntegrator.
Definition at line 44 of file path.cpp.
References AbsDot(), BSDF_ALL, BSDF_SPECULAR, bsdfSampleOffsets, Ray::d, BSDF::dgShading, Intersection::GetBSDF(), Scene::Intersect(), CoefficientSpectrum< nSamples >::IsBlack(), Intersection::Le(), lightNumOffset, Scene::lights, lightSampleOffsets, maxDepth, DifferentialGeometry::nn, DifferentialGeometry::p, pathSampleOffsets, RNG::RandomFloat(), Intersection::rayEpsilon, SAMPLE_DEPTH, BSDF::Sample_f(), Ray::time, Renderer::Transmittance(), UniformSampleOneLight(), and RGBSpectrum::y().
void PathIntegrator::RequestSamples | ( | Sampler * | sampler, | |
Sample * | sample, | |||
const Scene * | scene | |||
) | [virtual] |
Reimplemented from Integrator.
Definition at line 33 of file path.cpp.
References Sample::Add1D(), bsdfSampleOffsets, lightNumOffset, lightSampleOffsets, pathSampleOffsets, and SAMPLE_DEPTH.
BSDFSampleOffsets PathIntegrator::bsdfSampleOffsets[SAMPLE_DEPTH] [private] |
Definition at line 50 of file path.h.
Referenced by Li(), and RequestSamples().
int PathIntegrator::lightNumOffset[SAMPLE_DEPTH] [private] |
Definition at line 49 of file path.h.
Referenced by Li(), and RequestSamples().
LightSampleOffsets PathIntegrator::lightSampleOffsets[SAMPLE_DEPTH] [private] |
Definition at line 48 of file path.h.
Referenced by Li(), and RequestSamples().
int PathIntegrator::maxDepth [private] |
Definition at line 46 of file path.h.
Referenced by Li(), and PathIntegrator().
BSDFSampleOffsets PathIntegrator::pathSampleOffsets[SAMPLE_DEPTH] [private] |
Definition at line 51 of file path.h.
Referenced by Li(), and RequestSamples().