#include <diffuseprt.h>
Public Member Functions | |
| DiffusePRTIntegrator (int lm, int ns) | |
| ~DiffusePRTIntegrator () | |
| void | Preprocess (const Scene *scene, const Camera *camera, const Renderer *renderer) |
| void | RequestSamples (Sampler *sampler, Sample *sample, const Scene *scene) |
| Spectrum | Li (const Scene *scene, const Renderer *, const RayDifferential &ray, const Intersection &isect, const Sample *sample, RNG &rng, MemoryArena &arena) const |
Private Attributes | |
| const int | lmax |
| const int | nSamples |
| Spectrum * | c_in |
Definition at line 36 of file diffuseprt.h.
| DiffusePRTIntegrator::DiffusePRTIntegrator | ( | int | lm, | |
| int | ns | |||
| ) |
Definition at line 37 of file diffuseprt.cpp.
| DiffusePRTIntegrator::~DiffusePRTIntegrator | ( | ) |
Definition at line 43 of file diffuseprt.cpp.
References c_in.
| Spectrum DiffusePRTIntegrator::Li | ( | const Scene * | scene, | |
| const Renderer * | , | |||
| const RayDifferential & | ray, | |||
| const Intersection & | isect, | |||
| const Sample * | sample, | |||
| RNG & | rng, | |||
| MemoryArena & | arena | |||
| ) | const [virtual] |
Implements SurfaceIntegrator.
Definition at line 63 of file diffuseprt.cpp.
References MemoryArena::Alloc(), BSDF_ALL_REFLECTION, c_in, CoefficientSpectrum< nSamples >::Clamp(), Ray::d, BSDF::dgShading, Faceforward(), Intersection::GetBSDF(), INV_PI, Intersection::Le(), lmax, DifferentialGeometry::nn, nSamples, DifferentialGeometry::p, Intersection::rayEpsilon, BSDF::rho(), SHComputeDiffuseTransfer(), and SHTerms().
| void DiffusePRTIntegrator::Preprocess | ( | const Scene * | scene, | |
| const Camera * | camera, | |||
| const Renderer * | renderer | |||
| ) | [virtual] |
Reimplemented from Integrator.
Definition at line 48 of file diffuseprt.cpp.
References arena, c_in, lmax, BBox::pMax, BBox::pMin, rng, SHProjectIncidentDirectRadiance(), Camera::shutterOpen, and Scene::WorldBound().
| void DiffusePRTIntegrator::RequestSamples | ( | Sampler * | sampler, | |
| Sample * | sample, | |||
| const Scene * | scene | |||
| ) | [virtual] |
Reimplemented from Integrator.
Definition at line 59 of file diffuseprt.cpp.
Spectrum* DiffusePRTIntegrator::c_in [private] |
Definition at line 49 of file diffuseprt.h.
Referenced by DiffusePRTIntegrator(), Li(), Preprocess(), and ~DiffusePRTIntegrator().
const int DiffusePRTIntegrator::lmax [private] |
Definition at line 48 of file diffuseprt.h.
Referenced by DiffusePRTIntegrator(), Li(), and Preprocess().
const int DiffusePRTIntegrator::nSamples [private] |
Definition at line 48 of file diffuseprt.h.
Referenced by Li().
1.6.3