21 #ifndef LIB_LIGHTMETRICA_PM_PHOTONMAP_H
22 #define LIB_LIGHTMETRICA_PM_PHOTONMAP_H
25 #include "component.h"
26 #include "pm.photon.h"
39 LM_COMPONENT_INTERFACE_DEF(
"pm.photonmap");
53 typedef std::function<void (const Math::Vec3&, const Photon&, Math::Float&)>
PhotonCollectFunc;
57 virtual void Build(
const Photons& photons) = 0;
58 virtual void CollectPhotons(
const Math::Vec3& p, Math::Float& maxDist2,
const PhotonCollectFunc& collectFunc)
const = 0;
59 virtual void GetPhotons(std::vector<const Photon*>& photons)
const = 0;
65 #endif // LIB_LIGHTMETRICA_PM_PHOTONMAP_H
std::function< void(const Math::Vec3 &, const Photon &, Math::Float &)> PhotonCollectFunc
Function called when a photon is collected in CollectPhotons.
Definition: pm.photonmap.h:53
Definition: component.h:45
Definition: pm.photonmap.h:35