|
JPL Spatial
Sound spatialization and propagation library
|
A very experimental specular path cache. More...
#include <JPLSpatial/PathTracing/SpecularPathCache.h>
Public Types | |
| using | Scene = SceneInterface |
| using | SPMap = std::pmr::unordered_map< SpecularPathId, SpecularPathData< Vec3 > > |
| using | SPEntry = std::pair< SpecularPathId, SpecularPathData< Vec3 > > |
| using | SPArray = std::pmr::vector< SPEntry > |
Public Member Functions | |
| SpecularPathCache ()=default | |
| ~SpecularPathCache () noexcept | |
| JPL_INLINE std::size_t | GetNumPaths () const |
| JPL_INLINE std::size_t | GetNumValidPaths () const |
| JPL_INLINE std::size_t | GetNumInvalidPaths () const |
| JPL_INLINE bool | Contains (SpecularPathId pathId) const |
| void | Add (SpecularPathId path, std::span< const int > nodes, const Vec3 &imageSource, const EnergyBands &energy, bool isPathValid) |
| template<class SceneType > | |
| void | Validate (const SceneType &scene) |
| JPL_INLINE std::span< const SPEntry > | GetValidPaths () const |
| JPL_INLINE std::span< const SPEntry > | GetInvalidPaths () const |
| JPL_INLINE void | Clear () |
Static Public Attributes | |
| static constexpr std::size_t | cMaxOrder = 16 |
A very experimental specular path cache.
| using JPL::SpecularPathCache< Vec3 >::Scene = SceneInterface |
| using JPL::SpecularPathCache< Vec3 >::SPArray = std::pmr::vector<SPEntry> |
| using JPL::SpecularPathCache< Vec3 >::SPEntry = std::pair<SpecularPathId, SpecularPathData<Vec3> > |
| using JPL::SpecularPathCache< Vec3 >::SPMap = std::pmr::unordered_map<SpecularPathId, SpecularPathData<Vec3> > |
|
default |
|
inlinenoexcept |
|
inline |
|
inline |
| JPL_INLINE bool JPL::SpecularPathCache< Vec3 >::Contains | ( | SpecularPathId | pathId | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
staticconstexpr |