#include <glossyprt.h>
Public Member Functions | |
| GlossyPRTIntegrator (const Spectrum &kd, const Spectrum &ks, float rough, int lm, int ns) | |
| ~GlossyPRTIntegrator () | |
| 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 Spectrum | Kd |
| const Spectrum | Ks |
| const float | roughness |
| const int | lmax |
| const int | nSamples |
| Spectrum * | c_in |
| Spectrum * | B |
Definition at line 36 of file glossyprt.h.
| GlossyPRTIntegrator::GlossyPRTIntegrator | ( | const Spectrum & | kd, | |
| const Spectrum & | ks, | |||
| float | rough, | |||
| int | lm, | |||
| int | ns | |||
| ) | [inline] |
Definition at line 39 of file glossyprt.h.
| GlossyPRTIntegrator::~GlossyPRTIntegrator | ( | ) |
Definition at line 36 of file glossyprt.cpp.
| Spectrum GlossyPRTIntegrator::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 glossyprt.cpp.
References MemoryArena::Alloc(), ALLOCA, B, c_in, CoefficientSpectrum< nSamples >::Clamp(), Ray::d, BSDF::dgShading, Dot(), Intersection::GetBSDF(), Scene::IntersectP(), CoefficientSpectrum< nSamples >::IsBlack(), Intersection::Le(), lmax, BSDF::LocalToWorld(), nSamples, DifferentialGeometry::p, Intersection::rayEpsilon, BSDF::Sample_f(), SHComputeTransferMatrix(), SHEvaluate(), SHMatrixVectorMultiply(), SHRotate(), SHTerms(), BSDF::WorldToLocal(), Normal::x, Vector::x, Normal::y, Vector::y, Normal::z, and Vector::z.
| void GlossyPRTIntegrator::Preprocess | ( | const Scene * | scene, | |
| const Camera * | camera, | |||
| const Renderer * | renderer | |||
| ) | [virtual] |
Reimplemented from Integrator.
Definition at line 42 of file glossyprt.cpp.
References arena, B, c_in, Kd, Ks, lmax, BBox::pMax, BBox::pMin, rng, roughness, SHComputeBSDFMatrix(), SHProjectIncidentDirectRadiance(), SHTerms(), Camera::shutterOpen, and Scene::WorldBound().
| void GlossyPRTIntegrator::RequestSamples | ( | Sampler * | sampler, | |
| Sample * | sample, | |||
| const Scene * | scene | |||
| ) | [virtual] |
Reimplemented from Integrator.
Definition at line 59 of file glossyprt.cpp.
Spectrum* GlossyPRTIntegrator::B [private] |
Definition at line 57 of file glossyprt.h.
Referenced by GlossyPRTIntegrator(), Li(), Preprocess(), and ~GlossyPRTIntegrator().
Spectrum* GlossyPRTIntegrator::c_in [private] |
Definition at line 56 of file glossyprt.h.
Referenced by GlossyPRTIntegrator(), Li(), Preprocess(), and ~GlossyPRTIntegrator().
const Spectrum GlossyPRTIntegrator::Kd [private] |
Definition at line 53 of file glossyprt.h.
Referenced by Preprocess().
const Spectrum GlossyPRTIntegrator::Ks [private] |
Definition at line 53 of file glossyprt.h.
Referenced by Preprocess().
const int GlossyPRTIntegrator::lmax [private] |
Definition at line 55 of file glossyprt.h.
Referenced by Li(), and Preprocess().
const int GlossyPRTIntegrator::nSamples [private] |
Definition at line 55 of file glossyprt.h.
Referenced by Li().
const float GlossyPRTIntegrator::roughness [private] |
Definition at line 54 of file glossyprt.h.
Referenced by Preprocess().
1.6.3