#include <samplerrenderer.h>
Public Member Functions | |
SamplerRenderer (Sampler *s, Camera *c, SurfaceIntegrator *si, VolumeIntegrator *vi) | |
~SamplerRenderer () | |
void | Render (const Scene *scene) |
Spectrum | Li (const Scene *scene, const RayDifferential &ray, const Sample *sample, RNG &rng, MemoryArena &arena, Intersection *isect=NULL, Spectrum *T=NULL) const |
Spectrum | Transmittance (const Scene *scene, const RayDifferential &ray, const Sample *sample, RNG &rng, MemoryArena &arena) const |
Private Attributes | |
Sampler * | sampler |
Camera * | camera |
SurfaceIntegrator * | surfaceIntegrator |
VolumeIntegrator * | volumeIntegrator |
Definition at line 37 of file samplerrenderer.h.
SamplerRenderer::SamplerRenderer | ( | Sampler * | s, | |
Camera * | c, | |||
SurfaceIntegrator * | si, | |||
VolumeIntegrator * | vi | |||
) |
Definition at line 132 of file samplerrenderer.cpp.
References camera, sampler, surfaceIntegrator, and volumeIntegrator.
SamplerRenderer::~SamplerRenderer | ( | ) |
Definition at line 141 of file samplerrenderer.cpp.
References camera, sampler, surfaceIntegrator, and volumeIntegrator.
Spectrum SamplerRenderer::Li | ( | const Scene * | scene, | |
const RayDifferential & | ray, | |||
const Sample * | sample, | |||
RNG & | rng, | |||
MemoryArena & | arena, | |||
Intersection * | isect = NULL , |
|||
Spectrum * | T = NULL | |||
) | const [virtual] |
Implements Renderer.
Definition at line 185 of file samplerrenderer.cpp.
References Assert, RayDifferential::HasNaNs(), Scene::Intersect(), VolumeIntegrator::Li(), SurfaceIntegrator::Li(), Scene::lights, surfaceIntegrator, CameraSample::time, Ray::time, and volumeIntegrator.
void SamplerRenderer::Render | ( | const Scene * | scene | ) | [virtual] |
Implements Renderer.
Definition at line 149 of file samplerrenderer.cpp.
References camera, ProgressReporter::Done(), EnqueueTasks(), Camera::film, NumSystemCores(), Integrator::Preprocess(), RoundUpPow2(), sampler, surfaceIntegrator, volumeIntegrator, WaitForAllTasks(), Film::WriteImage(), Film::xResolution, and Film::yResolution.
Spectrum SamplerRenderer::Transmittance | ( | const Scene * | scene, | |
const RayDifferential & | ray, | |||
const Sample * | sample, | |||
RNG & | rng, | |||
MemoryArena & | arena | |||
) | const [virtual] |
Implements Renderer.
Definition at line 210 of file samplerrenderer.cpp.
References VolumeIntegrator::Transmittance(), and volumeIntegrator.
Camera* SamplerRenderer::camera [private] |
Definition at line 52 of file samplerrenderer.h.
Referenced by Render(), SamplerRenderer(), and ~SamplerRenderer().
Sampler* SamplerRenderer::sampler [private] |
Definition at line 51 of file samplerrenderer.h.
Referenced by Render(), SamplerRenderer(), and ~SamplerRenderer().
Definition at line 53 of file samplerrenderer.h.
Referenced by Li(), Render(), SamplerRenderer(), and ~SamplerRenderer().
Definition at line 54 of file samplerrenderer.h.
Referenced by Li(), Render(), SamplerRenderer(), Transmittance(), and ~SamplerRenderer().