55 template<CVec3 Vec3Type>
77 struct hash<
JPL::SpecularPathId>
81 return static_cast<std::size_t
>(key.
Id);
Definition AcousticMaterial.h:36
JPL_INLINE constexpr void HashCombine32(uint32_t &seed, uint32_t id32)
Definition Hash.h:42
std::uint32_t uint32
Definition Core.h:311
JPL_INLINE constexpr uint32_t Murmur3Finalize(uint32_t hash)
Definition Hash.h:59
JPL_INLINE simd min(const simd &a, const simd &b) noexcept
Element-wise min.
Definition SIMD.h:1813
Definition ChannelMap.h:268
static constexpr uint32_t cStartSeed
Definition Hash.h:31
Definition SpecularPath.h:57
EnergyBands Energy
Note: memory is owned by SpecularPathCache object.
Definition SpecularPath.h:63
Vec3Type ImageSource
Definition SpecularPath.h:66
std::span< int > Nodes
Definition SpecularPath.h:59
bool bValid
Definition SpecularPath.h:68
A very experimental specular path definition.
Definition SpecularPath.h:40
uint32 Id
Definition SpecularPath.h:41
constexpr bool operator==(const SpecularPathId &) const =default
JPL_INLINE constexpr void AddVertex(uint32 id)
Definition SpecularPath.h:46
JPL_INLINE constexpr void FinalizeHash()
Definition SpecularPath.h:48
Minimal 4-wide 32-bit float vector implementation for SIMD.
Definition SIMD.h:60
constexpr std::size_t operator()(const JPL::SpecularPathId &key) const
Definition SpecularPath.h:79