#pragma once

/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/

// Package: NNEDenoiser

#include "Basic.hpp"

#include "Engine_structs.hpp"


SDK_NAMESPACE_START

// Enum NNEDenoiser.EInputResourceName
// NumValues: 0x0005
enum class EInputResourceName : uint8
{
	Color                                    = 0,
	Albedo                                   = 1,
	Normal                                   = 2,
	Output                                   = 3,
	EInputResourceName_MAX                   = 4,
};

// Enum NNEDenoiser.EOutputResourceName
// NumValues: 0x0002
enum class EOutputResourceName : uint8
{
	Output                                   = 0,
	EOutputResourceName_MAX                  = 1,
};

// Enum NNEDenoiser.ETemporalInputResourceName
// NumValues: 0x0006
enum class ETemporalInputResourceName : uint8
{
	Color                                    = 0,
	Albedo                                   = 1,
	Normal                                   = 2,
	Flow                                     = 3,
	Output                                   = 4,
	ETemporalInputResourceName_MAX           = 5,
};

// Enum NNEDenoiser.ETemporalOutputResourceName
// NumValues: 0x0002
enum class ETemporalOutputResourceName : uint8
{
	Output                                   = 0,
	ETemporalOutputResourceName_MAX          = 1,
};

// Enum NNEDenoiser.EResourceName
// NumValues: 0x0006
enum class EResourceName : uint8
{
	Color                                    = 0,
	Albedo                                   = 1,
	Normal                                   = 2,
	Flow                                     = 3,
	Output                                   = 4,
	EResourceName_MAX                        = 5,
};

// Enum NNEDenoiser.EDenoiserRuntimeType
// NumValues: 0x0004
enum class EDenoiserRuntimeType : uint8
{
	CPU                                      = 0,
	GPU                                      = 1,
	RDG                                      = 2,
	EDenoiserRuntimeType_MAX                 = 3,
};

// ScriptStruct NNEDenoiser.NNEDenoiserBaseMappingData
// 0x0010 (0x0018 - 0x0008)
struct FNNEDenoiserBaseMappingData : public FTableRowBase
{
public:
	int32                                         TensorIndex;                                       // 0x0008(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         TensorChannel;                                     // 0x000C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         ResourceChannel;                                   // 0x0010(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_14[0x4];                                       // 0x0014(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FNNEDenoiserBaseMappingData;

// ScriptStruct NNEDenoiser.NNEDenoiserInputMappingData
// 0x0008 (0x0020 - 0x0018)
struct FNNEDenoiserInputMappingData final : public FNNEDenoiserBaseMappingData
{
public:
	EInputResourceName                            Resource;                                          // 0x0018(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_19[0x7];                                       // 0x0019(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FNNEDenoiserInputMappingData;

// ScriptStruct NNEDenoiser.NNEDenoiserOutputMappingData
// 0x0008 (0x0020 - 0x0018)
struct FNNEDenoiserOutputMappingData final : public FNNEDenoiserBaseMappingData
{
public:
	EOutputResourceName                           Resource;                                          // 0x0018(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_19[0x7];                                       // 0x0019(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FNNEDenoiserOutputMappingData;

// ScriptStruct NNEDenoiser.NNEDenoiserTemporalInputMappingData
// 0x0008 (0x0020 - 0x0018)
struct FNNEDenoiserTemporalInputMappingData final : public FNNEDenoiserBaseMappingData
{
public:
	ETemporalInputResourceName                    Resource;                                          // 0x0018(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_19[0x3];                                       // 0x0019(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         FrameIndex;                                        // 0x001C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FNNEDenoiserTemporalInputMappingData;

// ScriptStruct NNEDenoiser.NNEDenoiserTemporalOutputMappingData
// 0x0008 (0x0020 - 0x0018)
struct FNNEDenoiserTemporalOutputMappingData final : public FNNEDenoiserBaseMappingData
{
public:
	ETemporalOutputResourceName                   Resource;                                          // 0x0018(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_19[0x7];                                       // 0x0019(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FNNEDenoiserTemporalOutputMappingData;

// ScriptStruct NNEDenoiser.TilingConfig
// 0x0010 (0x0010 - 0x0000)
struct FTilingConfig final
{
public:
	int32                                         Alignment;                                         // 0x0000(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         Overlap;                                           // 0x0004(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         MaxSize;                                           // 0x0008(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         MinSize;                                           // 0x000C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FTilingConfig;

SDK_NAMESPACE_END
