|
Photon Engine 2.0.0-beta
A physically based renderer.
|
Default photon map type. Should be adequate for most cases. More...
#include <TPhotonMap.h>
Classes | |
| struct | PhotonCenterCalculator |
Public Types | |
| using | MapType = math::TIndexedPointKdtree<Photon, uint32, PhotonCenterCalculator, PhotonStorage> |
| using | BuildCacheType = MapType::BuildCache |
Public Member Functions | |
| bool | canContribute (const std::size_t viewPathLength, const std::size_t minFullPathLength, const std::size_t maxFullPathLength) const |
| void | find (const math::Vector3R &position, const real kernelRadius, std::vector< Photon > &photons) const |
| Find all photons in a radius. | |
| void | find (const math::Vector3R &position, const real kernelRadius, const std::size_t viewPathLength, const std::size_t minFullPathLength, const std::size_t maxFullPathLength, std::vector< Photon > &photons) const |
| Find all photons in a radius that can contribute given the path requirements. | |
| TPhotonMapInfo< Photon > | getInfo () const |
Public Attributes | |
| MapType | map = MapType(2, PhotonCenterCalculator{}) |
| std::size_t | numPaths = 0 |
| uint32 | minPathLength = 1 |
| uint32 | maxPathLength = PMCommonParams::DEFAULT_MAX_PATH_LENGTH |
Default photon map type. Should be adequate for most cases.
| using ph::TPhotonMap< Photon, PhotonStorage >::BuildCacheType = MapType::BuildCache |
| using ph::TPhotonMap< Photon, PhotonStorage >::MapType = math::TIndexedPointKdtree<Photon, uint32, PhotonCenterCalculator, PhotonStorage> |
|
inline |
| viewPathLength | The view path length used for forming a full path. |
| minFullPathLength | The minimum full path length to form. |
| maxFullPathLength | The maximum full path length to form (inclusive). |
|
inline |
Find all photons in a radius that can contribute given the path requirements.
canContribute().
|
inline |
Find all photons in a radius.
|
inline |
| MapType ph::TPhotonMap< Photon, PhotonStorage >::map = MapType(2, PhotonCenterCalculator{}) |
| uint32 ph::TPhotonMap< Photon, PhotonStorage >::maxPathLength = PMCommonParams::DEFAULT_MAX_PATH_LENGTH |
Maximum length of photon paths in this photon map. The default value is practically infinite number of bounces.
| uint32 ph::TPhotonMap< Photon, PhotonStorage >::minPathLength = 1 |
Minimum length of photon paths in this photon map. If a photon lands on a surface for the first time, then its path length is 1 (no need to bounce).
| std::size_t ph::TPhotonMap< Photon, PhotonStorage >::numPaths = 0 |
Number of photon paths in this photon map.