#include <photonmap.h>
Public Member Functions | |
RadiancePhotonMap (u_int nl, float md) | |
virtual | ~RadiancePhotonMap () |
void | init (const vector< RadiancePhoton > &photons) |
SWCSpectrum | LPhoton (const TsPack *tspack, const Intersection &isect, const Vector &wo, const BxDFType bxdfType) const |
void | save (std::basic_ostream< char > &stream) const |
Static Public Member Functions | |
static void | load (std::basic_istream< char > &stream, RadiancePhotonMap *map) |
Public Attributes | |
const u_int | nLookup |
const float | maxDistSquared |
Definition at line 303 of file core/photonmap.h.
lux::RadiancePhotonMap::RadiancePhotonMap | ( | u_int | nl, | |
float | md | |||
) | [inline] |
Definition at line 305 of file core/photonmap.h.
virtual lux::RadiancePhotonMap::~RadiancePhotonMap | ( | ) | [inline, virtual] |
Definition at line 308 of file core/photonmap.h.
void lux::RadiancePhotonMap::init | ( | const vector< RadiancePhoton > & | photons | ) | [inline] |
Definition at line 310 of file core/photonmap.h.
References lux::PhotonMap< RadiancePhoton, NearPhotonProcess< RadiancePhoton > >::photonCount, and lux::PhotonMap< RadiancePhoton, NearPhotonProcess< RadiancePhoton > >::photonmap.
Referenced by load().
void lux::RadiancePhotonMap::load | ( | std::basic_istream< char > & | stream, | |
RadiancePhotonMap * | map | |||
) | [static] |
Definition at line 1121 of file core/photonmap.cpp.
References init(), lux::osIsLittleEndian(), and lux::osReadLittleEndianInt().
SWCSpectrum lux::RadiancePhotonMap::LPhoton | ( | const TsPack * | tspack, | |
const Intersection & | isect, | |||
const Vector & | wo, | |||
const BxDFType | bxdfType | |||
) | const |
Estimates the outgoing radiance at a surface point in a single direction.
tspack | The thread specific pack. | |
isect | The surface point intersection. | |
wo | The outgoing direction. | |
bxdfType | The bxdf types at the surface point to to take into account. |
Definition at line 133 of file core/photonmap.cpp.
References lux::BSDF_REFLECTION, lux::BSDF_TRANSMISSION, lux::Intersection::dg, lux::Dot(), lux::BasicColorPhoton::GetSWCSpectrum(), lux::PhotonMap< RadiancePhoton, NearPhotonProcess< RadiancePhoton > >::lookup(), maxDistSquared, lux::DifferentialGeometry::nn, lux::DifferentialGeometry::p, p, lux::NearPhotonProcess< PhotonType >::photon, and lux::PhotonMap< RadiancePhoton, NearPhotonProcess< RadiancePhoton > >::photonmap.
Referenced by lux::ExPhotonIntegrator::LiPathMode().
void lux::RadiancePhotonMap::save | ( | std::basic_ostream< char > & | stream | ) | const |
Definition at line 1140 of file core/photonmap.cpp.
References lux::KdTree< NodeData, LookupProc >::getNodeData(), lux::osIsLittleEndian(), lux::osWriteLittleEndianInt(), lux::PhotonMap< RadiancePhoton, NearPhotonProcess< RadiancePhoton > >::photonCount, and lux::PhotonMap< RadiancePhoton, NearPhotonProcess< RadiancePhoton > >::photonmap.
const float lux::RadiancePhotonMap::maxDistSquared |
Definition at line 336 of file core/photonmap.h.
Referenced by lux::ExPhotonIntegrator::LiDirectLightingMode(), and LPhoton().
Definition at line 335 of file core/photonmap.h.