#include <createprobes.h>
Public Member Functions | |
CreateRadianceProbes (SurfaceIntegrator *surf, VolumeIntegrator *vol, const Camera *camera, int lmax, float probeSpacing, const BBox &bbox, int nIndirSamples, bool includeDirect, bool includeIndirect, float time, const string &filename) | |
~CreateRadianceProbes () | |
void | Render (const Scene *scene) |
Spectrum | Li (const Scene *scene, const RayDifferential &ray, const Sample *sample, RNG &rng, MemoryArena &arena, Intersection *isect, Spectrum *T) const |
Spectrum | Transmittance (const Scene *scene, const RayDifferential &ray, const Sample *sample, RNG &rng, MemoryArena &arena) const |
Private Attributes | |
SurfaceIntegrator * | surfaceIntegrator |
VolumeIntegrator * | volumeIntegrator |
const Camera * | camera |
int | lmax |
int | nIndirSamples |
BBox | bbox |
bool | includeDirectInProbes |
bool | includeIndirectInProbes |
float | time |
float | probeSpacing |
string | filename |
Definition at line 37 of file createprobes.h.
CreateRadianceProbes::CreateRadianceProbes | ( | SurfaceIntegrator * | surf, | |
VolumeIntegrator * | vol, | |||
const Camera * | camera, | |||
int | lmax, | |||
float | probeSpacing, | |||
const BBox & | bbox, | |||
int | nIndirSamples, | |||
bool | includeDirect, | |||
bool | includeIndirect, | |||
float | time, | |||
const string & | filename | |||
) |
Definition at line 64 of file createprobes.cpp.
References bbox, camera, filename, includeDirectInProbes, includeIndirectInProbes, lmax, nIndirSamples, probeSpacing, surfaceIntegrator, time, and volumeIntegrator.
CreateRadianceProbes::~CreateRadianceProbes | ( | ) |
Definition at line 81 of file createprobes.cpp.
References surfaceIntegrator, and volumeIntegrator.
Spectrum CreateRadianceProbes::Li | ( | const Scene * | scene, | |
const RayDifferential & | ray, | |||
const Sample * | sample, | |||
RNG & | rng, | |||
MemoryArena & | arena, | |||
Intersection * | isect, | |||
Spectrum * | T | |||
) | const [virtual] |
Implements Renderer.
Definition at line 87 of file createprobes.cpp.
References Assert, RayDifferential::HasNaNs(), Scene::Intersect(), VolumeIntegrator::Li(), SurfaceIntegrator::Li(), Scene::lights, surfaceIntegrator, CameraSample::time, Ray::time, and volumeIntegrator.
void CreateRadianceProbes::Render | ( | const Scene * | scene | ) | [virtual] |
Implements Renderer.
Definition at line 115 of file createprobes.cpp.
References bbox, BBox::BoundingSphere(), camera, Camera::CameraToWorld, Ceil2Int(), Ray::d, Intersection::dg, ProgressReporter::Done(), EnqueueTasks(), Faceforward(), filename, includeDirectInProbes, includeIndirectInProbes, INFINITY, Scene::Intersect(), Inverse(), lmax, Ray::maxt, nIndirSamples, DifferentialGeometry::nn, DifferentialGeometry::p, BBox::pMax, BBox::pMin, Integrator::Preprocess(), probeSpacing, RNG::RandomFloat(), Intersection::rayEpsilon, rng, Severe(), SHTerms(), Camera::shutterOpen, surfaceIntegrator, time, Translate(), UniformSampleSphere(), volumeIntegrator, WaitForAllTasks(), Scene::WorldBound(), Point::x, Point::y, and Point::z.
Spectrum CreateRadianceProbes::Transmittance | ( | const Scene * | scene, | |
const RayDifferential & | ray, | |||
const Sample * | sample, | |||
RNG & | rng, | |||
MemoryArena & | arena | |||
) | const [virtual] |
Implements Renderer.
Definition at line 108 of file createprobes.cpp.
References VolumeIntegrator::Transmittance(), and volumeIntegrator.
BBox CreateRadianceProbes::bbox [private] |
Definition at line 57 of file createprobes.h.
Referenced by CreateRadianceProbes(), and Render().
const Camera* CreateRadianceProbes::camera [private] |
Definition at line 55 of file createprobes.h.
Referenced by CreateRadianceProbes(), and Render().
string CreateRadianceProbes::filename [private] |
Definition at line 60 of file createprobes.h.
Referenced by CreateRadianceProbes(), and Render().
bool CreateRadianceProbes::includeDirectInProbes [private] |
Definition at line 58 of file createprobes.h.
Referenced by CreateRadianceProbes(), and Render().
bool CreateRadianceProbes::includeIndirectInProbes [private] |
Definition at line 58 of file createprobes.h.
Referenced by CreateRadianceProbes(), and Render().
int CreateRadianceProbes::lmax [private] |
Definition at line 56 of file createprobes.h.
Referenced by CreateRadianceProbes(), and Render().
int CreateRadianceProbes::nIndirSamples [private] |
Definition at line 56 of file createprobes.h.
Referenced by CreateRadianceProbes(), and Render().
float CreateRadianceProbes::probeSpacing [private] |
Definition at line 59 of file createprobes.h.
Referenced by CreateRadianceProbes(), and Render().
Definition at line 53 of file createprobes.h.
Referenced by CreateRadianceProbes(), Li(), Render(), and ~CreateRadianceProbes().
float CreateRadianceProbes::time [private] |
Definition at line 59 of file createprobes.h.
Referenced by CreateRadianceProbes(), and Render().
Definition at line 54 of file createprobes.h.
Referenced by CreateRadianceProbes(), Li(), Render(), Transmittance(), and ~CreateRadianceProbes().