#include <scene.h>
Public Member Functions | |
void | Render () |
Scene (Camera *c, SurfaceIntegrator *in, VolumeIntegrator *vi, Sampler *s, Primitive *accel, const vector< Light * > <s, VolumeRegion *vr) | |
~Scene () | |
bool | Intersect (const Ray &ray, Intersection *isect) const |
bool | IntersectP (const Ray &ray) const |
const BBox & | WorldBound () const |
Spectrum | Li (const RayDifferential &ray, const Sample *sample, float *alpha=NULL) const |
Spectrum | Transmittance (const Ray &ray) const |
Public Attributes | |
Primitive * | aggregate |
vector< Light * > | lights |
Camera * | camera |
VolumeRegion * | volumeRegion |
SurfaceIntegrator * | surfaceIntegrator |
VolumeIntegrator * | volumeIntegrator |
Sampler * | sampler |
BBox | bound |
Definition at line 31 of file scene.h.
Scene::Scene | ( | Camera * | c, | |
SurfaceIntegrator * | in, | |||
VolumeIntegrator * | vi, | |||
Sampler * | s, | |||
Primitive * | accel, | |||
const vector< Light * > & | lts, | |||
VolumeRegion * | vr | |||
) |
Definition at line 99 of file scene.cpp.
References aggregate, bound, camera, lights, sampler, surfaceIntegrator, Union(), volumeIntegrator, volumeRegion, Warning(), VolumeRegion::WorldBound(), and Primitive::WorldBound().
Scene::~Scene | ( | ) |
Definition at line 89 of file scene.cpp.
References aggregate, camera, lights, sampler, surfaceIntegrator, volumeIntegrator, and volumeRegion.
void Scene::Render | ( | ) |
Definition at line 32 of file scene.cpp.
References Film::AddSample(), camera, Error(), Camera::film, BSDF::FreeAll(), Camera::GenerateRay(), Sampler::GetNextSample(), RayDifferential::hasDifferentials, Sample::imageX, Sample::imageY, Spectrum::IsNaN(), Li(), Integrator::Preprocess(), RayDifferential::rx, RayDifferential::ry, sampler, surfaceIntegrator, Sampler::TotalSamples(), volumeIntegrator, Film::WriteImage(), and Spectrum::y().
Referenced by pbrtWorldEnd().
bool Scene::Intersect | ( | const Ray & | ray, | |
Intersection * | isect | |||
) | const [inline] |
Definition at line 40 of file scene.h.
Referenced by EstimateDirect(), BidirIntegrator::generatePath(), IrradianceCache::IndirectLo(), WhittedIntegrator::Li(), PhotonIntegrator::Li(), PathIntegrator::Li(), IrradianceCache::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), DirectLighting::Li(), DebugIntegrator::Li(), PhotonIntegrator::Preprocess(), IGIIntegrator::Preprocess(), and ExPhotonIntegrator::Preprocess().
bool Scene::IntersectP | ( | const Ray & | ray | ) | const [inline] |
Definition at line 43 of file scene.h.
Referenced by IGIIntegrator::Li(), VisibilityTester::Unoccluded(), and BidirIntegrator::visible().
const BBox & Scene::WorldBound | ( | ) | const |
Definition at line 117 of file scene.cpp.
References bound.
Referenced by IrradianceCache::IndirectLo(), InfiniteAreaLightIS::Power(), InfiniteAreaLight::Power(), DistantLight::Power(), IrradianceCache::Preprocess(), InfiniteAreaLightIS::Sample_L(), InfiniteAreaLight::Sample_L(), and DistantLight::Sample_L().
Spectrum Scene::Li | ( | const RayDifferential & | ray, | |
const Sample * | sample, | |||
float * | alpha = NULL | |||
) | const |
Definition at line 120 of file scene.cpp.
References Integrator::Li(), surfaceIntegrator, VolumeIntegrator::Transmittance(), and volumeIntegrator.
Referenced by WhittedIntegrator::Li(), PhotonIntegrator::Li(), IrradianceCache::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), DirectLighting::Li(), and Render().
Definition at line 127 of file scene.cpp.
References VolumeIntegrator::Transmittance(), and volumeIntegrator.
Referenced by EstimateDirect(), IrradianceCache::IndirectLo(), PhotonIntegrator::Li(), PathIntegrator::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), PhotonIntegrator::Preprocess(), IGIIntegrator::Preprocess(), ExPhotonIntegrator::Preprocess(), and VisibilityTester::Transmittance().
vector<Light *> Scene::lights |
Definition at line 52 of file scene.h.
Referenced by WhittedIntegrator::Li(), SingleScattering::Li(), PhotonIntegrator::Li(), PathIntegrator::Li(), IrradianceCache::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), DirectLighting::Li(), BidirIntegrator::Li(), PhotonIntegrator::Preprocess(), IGIIntegrator::Preprocess(), ExPhotonIntegrator::Preprocess(), PhotonIntegrator::RequestSamples(), IrradianceCache::RequestSamples(), IGIIntegrator::RequestSamples(), ExPhotonIntegrator::RequestSamples(), DirectLighting::RequestSamples(), Scene(), UniformSampleAllLights(), UniformSampleOneLight(), WeightedSampleOneLight(), and ~Scene().
Definition at line 54 of file scene.h.
Referenced by SingleScattering::Li(), EmissionIntegrator::Li(), Scene(), SingleScattering::Transmittance(), EmissionIntegrator::Transmittance(), and ~Scene().
Definition at line 57 of file scene.h.
Referenced by Render(), PhotonIntegrator::RequestSamples(), IrradianceCache::RequestSamples(), IGIIntegrator::RequestSamples(), ExPhotonIntegrator::RequestSamples(), DirectLighting::RequestSamples(), Scene(), and ~Scene().