#include <primitive.h>
Public Member Functions | |
Intersection () | |
BSDF * | GetBSDF (const TsPack *tspack, const RayDifferential &ray) const |
SWCSpectrum | Le (const TsPack *tspack, const Vector &wo) const |
SWCSpectrum | Le (const TsPack *tspack, const Ray &ray, const Normal &n, BSDF **bsdf, float *pdf, float *pdfDirect) const |
void | Set (const Transform &world2object, const Primitive *prim, const Material *mat, const AreaLight *areal=NULL) |
Public Attributes | |
DifferentialGeometry | dg |
Transform | WorldToObject |
const Primitive * | primitive |
const Material * | material |
const AreaLight * | arealight |
Definition at line 162 of file primitive.h.
lux::Intersection::Intersection | ( | ) | [inline] |
Definition at line 165 of file primitive.h.
BSDF * Intersection::GetBSDF | ( | const TsPack * | tspack, | |
const RayDifferential & | ray | |||
) | const |
Definition at line 89 of file primitive.cpp.
References lux::DifferentialGeometry::ComputeDifferentials(), dg, lux::Material::GetBSDF(), lux::Transform::GetInverse(), lux::Primitive::GetShadingGeometry(), material, primitive, and WorldToObject.
Referenced by generateEyePath(), generateLightPath(), lux::BidirIntegrator::generatePath(), lux::IrradianceCache::IndirectLo(), lux::WhittedIntegrator::Li(), lux::PhotonIntegrator::Li(), lux::PathIntegrator::Li(), lux::MLTPathIntegrator::Li(), lux::IrradianceCache::Li(), lux::IGIIntegrator::Li(), lux::ExPhotonIntegrator::Li(), lux::DebugIntegrator::Li(), lux::ExPhotonIntegrator::LiDirectLightingMode(), lux::DistributedPath::LiInternal(), lux::DirectLightingIntegrator::LiInternal(), lux::ExPhotonIntegrator::LiPathMode(), lux::PhotonIntegrator::Preprocess(), lux::IGIIntegrator::Preprocess(), lux::ExPhotonIntegrator::Preprocess(), and lux::VisibilityTester::TestOcclusion().
SWCSpectrum Intersection::Le | ( | const TsPack * | tspack, | |
const Ray & | ray, | |||
const Normal & | n, | |||
BSDF ** | bsdf, | |||
float * | pdf, | |||
float * | pdfDirect | |||
) | const |
Definition at line 101 of file primitive.cpp.
References arealight, dg, lux::BSDF::f(), and lux::AreaLight::L().
SWCSpectrum Intersection::Le | ( | const TsPack * | tspack, | |
const Vector & | wo | |||
) | const |
Definition at line 98 of file primitive.cpp.
References arealight, dg, and lux::AreaLight::L().
Referenced by generateEyePath(), lux::IrradianceCache::IndirectLo(), lux::WhittedIntegrator::Li(), lux::PhotonIntegrator::Li(), lux::PathIntegrator::Li(), lux::MLTPathIntegrator::Li(), lux::IrradianceCache::Li(), lux::IGIIntegrator::Li(), lux::ExPhotonIntegrator::Li(), lux::ExPhotonIntegrator::LiDirectLightingMode(), lux::DistributedPath::LiInternal(), lux::DirectLightingIntegrator::LiInternal(), and lux::ExPhotonIntegrator::LiPathMode().
void lux::Intersection::Set | ( | const Transform & | world2object, | |
const Primitive * | prim, | |||
const Material * | mat, | |||
const AreaLight * | areal = NULL | |||
) | [inline] |
Definition at line 170 of file primitive.h.
References arealight, material, primitive, and WorldToObject.
Referenced by lux::Shape::Intersect(), lux::MeshWaldTriangle::Intersect(), lux::MeshQuadrilateral::Intersect(), and lux::MeshBaryTriangle::Intersect().
Definition at line 184 of file primitive.h.
Referenced by generateEyePath(), lux::AreaLightPrimitive::Intersect(), Le(), lux::PathIntegrator::Li(), lux::DistributedPath::LiInternal(), lux::DirectLightingIntegrator::LiInternal(), and Set().
Definition at line 180 of file primitive.h.
Referenced by lux::SunLight::checkPortals(), generateEyePath(), generateLightPath(), lux::BidirIntegrator::generatePath(), GetBSDF(), lux::Shape::Intersect(), lux::MotionPrimitive::Intersect(), lux::InstancePrimitive::Intersect(), lux::MeshWaldTriangle::Intersect(), lux::MeshQuadrilateral::Intersect(), lux::MeshBaryTriangle::Intersect(), lux::LightPhotonMap::LDiffusePhoton(), lux::SunLight::Le(), lux::SkyLight::Le(), Le(), lux::InfiniteAreaLight::Le(), lux::WhittedIntegrator::Li(), lux::PhotonIntegrator::Li(), lux::IrradianceCache::Li(), lux::IGIIntegrator::Li(), lux::ExPhotonIntegrator::Li(), lux::DebugIntegrator::Li(), lux::ExPhotonIntegrator::LiDirectLightingMode(), lux::DirectLightingIntegrator::LiInternal(), lux::PhotonIntegrator::LPhoton(), lux::LightPhotonMap::LPhoton(), lux::RadiancePhotonMap::LPhoton(), lux::ExPhotonIntegrator::LPhoton(), lux::LightPhotonMap::LPhotonDiffuseApprox(), lux::SkyLight::Pdf(), SkyPortalBxDF::Pdf(), lux::Primitive::Pdf(), lux::InfiniteAreaLight::Pdf(), InfinitePortalBxDF::Pdf(), lux::PhotonIntegrator::Preprocess(), lux::IGIIntegrator::Preprocess(), lux::ExPhotonIntegrator::Preprocess(), SkyPortalBxDF::Sample_f(), InfinitePortalBxDF::Sample_f(), lux::SunLight::Sample_L(), and lux::SkyLight::Sample_L().
Definition at line 183 of file primitive.h.
Referenced by GetBSDF(), lux::InstancePrimitive::Intersect(), and Set().
Definition at line 182 of file primitive.h.
Referenced by GetBSDF(), lux::MotionPrimitive::Intersect(), lux::InstancePrimitive::Intersect(), and Set().
Definition at line 181 of file primitive.h.
Referenced by GetBSDF(), lux::MotionPrimitive::Intersect(), lux::InstancePrimitive::Intersect(), and Set().