#include <distributedpath.h>
Definition at line 34 of file distributedpath.h.
Definition at line 37 of file distributedpath.h.
DistributedPath::DistributedPath | ( | LightStrategy | st, | |
bool | da, | |||
int | ds, | |||
bool | dd, | |||
bool | dg, | |||
bool | ida, | |||
int | ids, | |||
bool | idd, | |||
bool | idg, | |||
int | drd, | |||
int | drs, | |||
int | dtd, | |||
int | dts, | |||
int | grd, | |||
int | grs, | |||
int | gtd, | |||
int | gts, | |||
int | srd, | |||
int | std, | |||
bool | drer, | |||
float | drert, | |||
bool | drfr, | |||
float | drfrt, | |||
bool | grer, | |||
float | grert, | |||
bool | grfr, | |||
float | grfrt | |||
) |
Definition at line 34 of file distributedpath.cpp.
References diffusereflectDepth, diffusereflectReject, diffusereflectReject_thr, diffusereflectSamples, diffuserefractDepth, diffuserefractReject, diffuserefractReject_thr, diffuserefractSamples, directAll, directDiffuse, directGlossy, directSamples, glossyreflectDepth, glossyreflectReject, glossyreflectReject_thr, glossyreflectSamples, glossyrefractDepth, glossyrefractReject, glossyrefractReject_thr, glossyrefractSamples, indirectAll, indirectDiffuse, indirectGlossy, indirectSamples, lightStrategy, specularreflectDepth, and specularrefractDepth.
Referenced by CreateSurfaceIntegrator().
virtual lux::DistributedPath::~DistributedPath | ( | ) | [inline, virtual] |
Definition at line 46 of file distributedpath.h.
SurfaceIntegrator * DistributedPath::CreateSurfaceIntegrator | ( | const ParamSet & | params | ) | [static] |
Definition at line 547 of file distributedpath.cpp.
References DistributedPath(), lux::ParamSet::FindOneBool(), lux::ParamSet::FindOneFloat(), lux::ParamSet::FindOneInt(), lux::ParamSet::FindOneString(), LUX_BADTOKEN, LUX_WARNING, luxError, SAMPLE_ALL_UNIFORM, SAMPLE_AUTOMATIC, and SAMPLE_ONE_UNIFORM.
int DistributedPath::Li | ( | const TsPack * | tspack, | |
const Scene * | scene, | |||
const Sample * | sample | |||
) | const [virtual] |
Implements lux::SurfaceIntegrator.
Definition at line 518 of file distributedpath.cpp.
References lux::Sample::AddContribution(), bufferId, lux::TsPack::camera, lux::Camera::GenerateRay(), lux::RayDifferential::hasDifferentials, lux::Sample::imageX, lux::Sample::imageY, lux::Scene::lightGroups, LiInternal(), lux::RayDifferential::rx, and lux::RayDifferential::ry.
void DistributedPath::LiInternal | ( | const TsPack * | tspack, | |
const Scene * | scene, | |||
const RayDifferential & | ray, | |||
const Sample * | sample, | |||
vector< SWCSpectrum > & | L, | |||
float * | alpha, | |||
float * | zdepth, | |||
int | rayDepth, | |||
bool | includeEmit, | |||
int & | nrContribs | |||
) | const [private] |
Definition at line 179 of file distributedpath.cpp.
References lux::CompositingParams::A, lux::AbsDot(), lux::Intersection::arealight, lux::BSDF_DIFFUSE, lux::BSDF_GLOSSY, lux::BSDF_REFLECTION, lux::BSDF_SPECULAR, lux::BSDF_TRANSMISSION, bsdfComponentOffset, bsdfSampleOffset, lux::BSDF::compParams, lux::Ray::d, lux::BSDF::dgShading, diffuse_reflectComponentOffset, diffuse_reflectSampleOffset, diffuse_refractComponentOffset, diffuse_refractSampleOffset, diffusereflectDepth, diffusereflectReject, diffusereflectReject_thr, diffusereflectSamples, diffuserefractDepth, diffuserefractReject, diffuserefractReject_thr, diffuserefractSamples, directSamples, lux::EstimateDirect(), lux::SWCSpectrum::Filter(), blender::g, lux::Intersection::GetBSDF(), glossy_reflectComponentOffset, glossy_reflectSampleOffset, glossy_refractComponentOffset, glossy_refractSampleOffset, glossyreflectDepth, glossyreflectReject, glossyreflectReject_thr, glossyreflectSamples, glossyrefractDepth, glossyrefractReject, glossyrefractReject_thr, glossyrefractSamples, lux::Light::group, indirectbsdfComponentOffset, indirectbsdfSampleOffset, indirectdiffuse_reflectComponentOffset, indirectdiffuse_reflectSampleOffset, indirectdiffuse_refractComponentOffset, indirectdiffuse_refractSampleOffset, indirectglossy_reflectComponentOffset, indirectglossy_reflectSampleOffset, indirectglossy_refractComponentOffset, indirectglossy_refractSampleOffset, indirectlightNumOffset, indirectlightSampleOffset, indirectSamples, lux::Scene::Intersect(), lux::Intersection::Le(), lux::Vector::Length(), lux::VolumeIntegrator::Li(), lightNumOffset, lux::Scene::lights, lightSampleOffset, lightStrategy, lux::DifferentialGeometry::nn, lux::Ray::o, lux::CompositingParams::oA, lux::Sample::oneD, lux::DifferentialGeometry::p, p, Reject(), SAMPLE_ALL_UNIFORM, lux::BSDF::Sample_f(), SAMPLE_ONE_UNIFORM, specularreflectDepth, specularrefractDepth, lux::Ray::time, cimg_library::cimg::time(), lux::CompositingParams::tiVl, lux::CompositingParams::tiVm, lux::VolumeIntegrator::Transmittance(), lux::CompositingParams::tVl, lux::CompositingParams::tVm, lux::Sample::twoD, lux::UniformSampleOneLight(), and lux::Scene::volumeIntegrator.
Referenced by Li().
Reimplemented from lux::Integrator.
Definition at line 130 of file distributedpath.cpp.
References lux::BUF_FRAMEBUFFER, lux::BUF_TYPE_PER_PIXEL, bufferId, lux::Scene::camera, lux::Camera::film, lux::Sampler::GetBufferType(), lux::Film::RequestBuffer(), and lux::Scene::sampler.
void DistributedPath::Reject | ( | const TsPack * | tspack, | |
vector< vector< SWCSpectrum > > & | LL, | |||
vector< SWCSpectrum > & | L, | |||
float | rejectrange | |||
) | const [private] |
Definition at line 138 of file distributedpath.cpp.
Referenced by LiInternal().
Reimplemented from lux::Integrator.
Definition at line 69 of file distributedpath.cpp.
References lux::Sample::Add1D(), lux::Sample::Add2D(), bsdfComponentOffset, bsdfSampleOffset, diffuse_reflectComponentOffset, diffuse_reflectSampleOffset, diffuse_refractComponentOffset, diffuse_refractSampleOffset, diffusereflectDepth, diffusereflectSamples, diffuserefractDepth, diffuserefractSamples, directSamples, glossy_reflectComponentOffset, glossy_reflectSampleOffset, glossy_refractComponentOffset, glossy_refractSampleOffset, glossyreflectDepth, glossyreflectSamples, glossyrefractDepth, glossyrefractSamples, indirectbsdfComponentOffset, indirectbsdfSampleOffset, indirectdiffuse_reflectComponentOffset, indirectdiffuse_reflectSampleOffset, indirectdiffuse_refractComponentOffset, indirectdiffuse_refractSampleOffset, indirectglossy_reflectComponentOffset, indirectglossy_reflectSampleOffset, indirectglossy_refractComponentOffset, indirectglossy_refractSampleOffset, indirectlightNumOffset, indirectlightSampleOffset, indirectSamples, lux::Sampler::IsMutating(), lightNumOffset, lux::Scene::lights, lightSampleOffset, lightStrategy, cimg_library::cimg::max(), maxDepth, SAMPLE_ALL_UNIFORM, SAMPLE_AUTOMATIC, SAMPLE_ONE_UNIFORM, lux::Scene::sampler, specularreflectDepth, and specularrefractDepth.
int lux::DistributedPath::bsdfComponentOffset [private] |
Definition at line 68 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
int lux::DistributedPath::bsdfSampleOffset [private] |
Definition at line 68 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
int lux::DistributedPath::bufferId [private] |
Definition at line 67 of file distributedpath.h.
Referenced by Li(), and Preprocess().
Definition at line 70 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
Definition at line 70 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
Definition at line 71 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
Definition at line 71 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
int lux::DistributedPath::diffusereflectDepth [private] |
Definition at line 63 of file distributedpath.h.
Referenced by DistributedPath(), LiInternal(), and RequestSamples().
bool lux::DistributedPath::diffusereflectReject [private] |
Definition at line 75 of file distributedpath.h.
Referenced by DistributedPath(), and LiInternal().
float lux::DistributedPath::diffusereflectReject_thr [private] |
Definition at line 76 of file distributedpath.h.
Referenced by DistributedPath(), and LiInternal().
Definition at line 63 of file distributedpath.h.
Referenced by DistributedPath(), LiInternal(), and RequestSamples().
int lux::DistributedPath::diffuserefractDepth [private] |
Definition at line 63 of file distributedpath.h.
Referenced by DistributedPath(), LiInternal(), and RequestSamples().
bool lux::DistributedPath::diffuserefractReject [private] |
Definition at line 75 of file distributedpath.h.
Referenced by DistributedPath(), and LiInternal().
float lux::DistributedPath::diffuserefractReject_thr [private] |
Definition at line 76 of file distributedpath.h.
Referenced by DistributedPath(), and LiInternal().
Definition at line 63 of file distributedpath.h.
Referenced by DistributedPath(), LiInternal(), and RequestSamples().
bool lux::DistributedPath::directAll [private] |
Definition at line 60 of file distributedpath.h.
Referenced by DistributedPath().
bool lux::DistributedPath::directDiffuse [private] |
Definition at line 60 of file distributedpath.h.
Referenced by DistributedPath().
bool lux::DistributedPath::directGlossy [private] |
Definition at line 60 of file distributedpath.h.
Referenced by DistributedPath().
int lux::DistributedPath::directSamples [private] |
Definition at line 62 of file distributedpath.h.
Referenced by DistributedPath(), LiInternal(), and RequestSamples().
Definition at line 72 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
Definition at line 72 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
Definition at line 73 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
Definition at line 73 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
int lux::DistributedPath::glossyreflectDepth [private] |
Definition at line 63 of file distributedpath.h.
Referenced by DistributedPath(), LiInternal(), and RequestSamples().
bool lux::DistributedPath::glossyreflectReject [private] |
Definition at line 75 of file distributedpath.h.
Referenced by DistributedPath(), and LiInternal().
float lux::DistributedPath::glossyreflectReject_thr [private] |
Definition at line 76 of file distributedpath.h.
Referenced by DistributedPath(), and LiInternal().
Definition at line 63 of file distributedpath.h.
Referenced by DistributedPath(), LiInternal(), and RequestSamples().
int lux::DistributedPath::glossyrefractDepth [private] |
Definition at line 63 of file distributedpath.h.
Referenced by DistributedPath(), LiInternal(), and RequestSamples().
bool lux::DistributedPath::glossyrefractReject [private] |
Definition at line 75 of file distributedpath.h.
Referenced by DistributedPath(), and LiInternal().
float lux::DistributedPath::glossyrefractReject_thr [private] |
Definition at line 76 of file distributedpath.h.
Referenced by DistributedPath(), and LiInternal().
Definition at line 63 of file distributedpath.h.
Referenced by DistributedPath(), LiInternal(), and RequestSamples().
bool lux::DistributedPath::indirectAll [private] |
Definition at line 60 of file distributedpath.h.
Referenced by DistributedPath().
Definition at line 69 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
Definition at line 69 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
bool lux::DistributedPath::indirectDiffuse [private] |
Definition at line 60 of file distributedpath.h.
Referenced by DistributedPath().
Definition at line 70 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
Definition at line 70 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
Definition at line 71 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
Definition at line 71 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
bool lux::DistributedPath::indirectGlossy [private] |
Definition at line 60 of file distributedpath.h.
Referenced by DistributedPath().
Definition at line 72 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
Definition at line 72 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
Definition at line 73 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
Definition at line 73 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
Definition at line 69 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
Definition at line 69 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
int lux::DistributedPath::indirectSamples [private] |
Definition at line 62 of file distributedpath.h.
Referenced by DistributedPath(), LiInternal(), and RequestSamples().
int lux::DistributedPath::lightNumOffset [private] |
Definition at line 68 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
int lux::DistributedPath::lightSampleOffset [private] |
Definition at line 68 of file distributedpath.h.
Referenced by LiInternal(), and RequestSamples().
Definition at line 59 of file distributedpath.h.
Referenced by DistributedPath(), LiInternal(), and RequestSamples().
int lux::DistributedPath::maxDepth [private] |
Definition at line 63 of file distributedpath.h.
Referenced by RequestSamples().
int lux::DistributedPath::sampleOffset [private] |
Definition at line 67 of file distributedpath.h.
Definition at line 63 of file distributedpath.h.
Referenced by DistributedPath(), LiInternal(), and RequestSamples().
Definition at line 63 of file distributedpath.h.
Referenced by DistributedPath(), LiInternal(), and RequestSamples().