7#ifdef WITH_OPENIMAGEDENOISE
15# include <OpenImageDenoise/oidn.hpp>
22enum class DenoisedAuxiliaryPassType :
uint8_t {
30class DenoisedAuxiliaryPassKey {
32 DenoisedAuxiliaryPassType type;
33 oidn::Quality quality;
35 DenoisedAuxiliaryPassKey(
const DenoisedAuxiliaryPassType type,
const oidn::Quality quality);
40bool operator==(
const DenoisedAuxiliaryPassKey &a,
const DenoisedAuxiliaryPassKey &
b);
47class DenoisedAuxiliaryPass {
49 float *denoised_buffer =
nullptr;
52 DenoisedAuxiliaryPass(Context &context,
54 const DenoisedAuxiliaryPassType type,
55 const oidn::Quality quality);
57 ~DenoisedAuxiliaryPass();
65 Map<DenoisedAuxiliaryPassKey, std::unique_ptr<DenoisedAuxiliaryPass>> map_;
71 DenoisedAuxiliaryPass &
get(Context &context,
73 const DenoisedAuxiliaryPassType type,
74 const oidn::Quality quality);
unsigned long long int uint64_t
bool operator==(const BokehKernelKey &a, const BokehKernelKey &b)
std::shared_ptr< const T > get(const GenericKey &key, FunctionRef< std::unique_ptr< T >()> compute_fn)