|
Blender V5.0
|
#include <BKE_cryptomatte.hh>
Public Member Functions | |
| CryptomatteHash (uint32_t hash) | |
| CryptomatteHash (const char *name, int name_len) | |
| std::string | hex_encoded () const |
| float | float_encoded () const |
Static Public Member Functions | |
| static CryptomatteHash | from_hex_encoded (blender::StringRef hex_encoded) |
Public Attributes | |
| uint32_t | hash |
Definition at line 53 of file BKE_cryptomatte.hh.
| blender::bke::cryptomatte::CryptomatteHash::CryptomatteHash | ( | uint32_t | hash | ) |
|
inline |
Definition at line 57 of file BKE_cryptomatte.hh.
References BLI_hash_mm3(), hash, and name.
|
inline |
Convert a cryptomatte hash to a float.
Cryptomatte hashes are stored in float textures and images. The conversion is taken from the cryptomatte specification. See Floating point conversion section in https://github.com/Psyop/Cryptomatte/blob/master/specification/cryptomatte_specification.pdf.
The conversion uses as many 32 bit floating point values as possible to minimize hash collisions. Unfortunately not all 32 bits can be used as NaN and Inf can be problematic.
Note that this conversion assumes to be running on a L-endian system.
Definition at line 77 of file BKE_cryptomatte.hh.
Referenced by BKE_cryptomatte_hash_to_float().
|
static |
Definition at line 545 of file cryptomatte.cc.
References CryptomatteHash(), hex_encoded(), and result.
Referenced by blender::bke::cryptomatte::manifest::from_manifest().
| std::string blender::bke::cryptomatte::CryptomatteHash::hex_encoded | ( | ) | const |
| uint32_t blender::bke::cryptomatte::CryptomatteHash::hash |
Definition at line 54 of file BKE_cryptomatte.hh.
Referenced by CryptomatteHash(), CryptomatteHash(), float_encoded(), and hex_encoded().