#include <light.h>
Public Member Functions | |
void | SetSegment (const Point &p1, const Point &p2) |
void | SetRay (const Point &p, const Vector &w) |
bool | Unoccluded (const Scene *scene) const |
bool | TestOcclusion (const Scene *scene, SWCSpectrum *f) const |
SWCSpectrum | Transmittance (const Scene *scene) const |
Public Attributes | |
Ray | r |
Definition at line 113 of file light.h.
Definition at line 118 of file light.h.
References r, and RAY_EPSILON.
Referenced by lux::SunLight::Sample_L(), lux::SkyLight::Sample_L(), lux::InfiniteAreaLightIS::Sample_L(), lux::InfiniteAreaLight::Sample_L(), and lux::DistantLight::Sample_L().
Definition at line 115 of file light.h.
References r, and RAY_EPSILON.
Referenced by lux::SunLight::Sample_L(), lux::SpotLight::Sample_L(), lux::SkyLight::Sample_L(), lux::ProjectionLight::Sample_L(), lux::PointLight::Sample_L(), lux::GonioPhotometricLight::Sample_L(), lux::AreaLight::Sample_L(), and lux::PerspectiveCamera::Sample_W().
bool VisibilityTester::TestOcclusion | ( | const Scene * | scene, | |
SWCSpectrum * | f | |||
) | const |
Definition at line 39 of file light.cpp.
References lux::AbsDot(), lux::SWCSpectrum::Black(), lux::BSDF_ALL_TRANSMISSION, lux::Ray::d, lux::BSDF::dgShading, lux::BSDF::f(), lux::random::floatValue(), lux::Intersection::GetBSDF(), lux::Scene::Intersect(), lux::Ray::maxt, lux::Ray::mint, lux::DifferentialGeometry::nn, lux::Normalize(), lux::BSDF::Pdf(), r, and RAY_EPSILON.
Referenced by lux::EstimateDirect().
SWCSpectrum VisibilityTester::Transmittance | ( | const Scene * | scene | ) | const |
Definition at line 60 of file light.cpp.
References r, and lux::Scene::Transmittance().
Referenced by lux::EstimateDirect(), lux::WhittedIntegrator::Li(), and lux::SingleScattering::Li().
bool VisibilityTester::Unoccluded | ( | const Scene * | scene | ) | const |
Definition at line 33 of file light.cpp.
References lux::Scene::IntersectP(), and r.
Referenced by lux::WhittedIntegrator::Li(), lux::SingleScattering::Li(), lux::MLTPathIntegrator::Li(), and lux::BidirIntegrator::Li().
Definition at line 124 of file light.h.
Referenced by SetRay(), SetSegment(), TestOcclusion(), Transmittance(), and Unoccluded().