11#include "MaterialParameters.generated.h"
36 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = ParameterInfo)
40 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = ParameterInfo)
44 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = ParameterInfo)
62 ENGINE_API void AppendString(FString& Out)
const;
73 Ar << Ref.Name << Ref.Association << Ref.Index;
86 return !operator==(Lhs, Rhs);
120 , Association(Rhs.Association)
128 Ar <<
RefName << Ref.Association << Ref.Index;
141 return Lhs.Name == Rhs.Name && Lhs.Association == Rhs.Association && Lhs.Index == Rhs.Index;
161 return Lhs.Name == Rhs.Name && Lhs.Index == Rhs.Index && Lhs.Association == Rhs.Association;
177 , Association(Rhs.Association)
250 return Enum->GetNameStringByValue(
int64(Type));
404 if (ParameterType != Rhs.Type)
408 switch (ParameterType)
413 Lhs.
Float[0] == Rhs.Float[0] &&
414 Lhs.
Float[1] == Rhs.Float[1] &&
415 Lhs.
Float[2] == Rhs.Float[2] &&
416 Lhs.
Float[3] == Rhs.Float[3];
418 Lhs.
Double[0] == Rhs.Double[0] &&
419 Lhs.
Double[1] == Rhs.Double[1] &&
420 Lhs.
Double[2] == Rhs.Double[2] &&
421 Lhs.
Double[3] == Rhs.Double[3];
430 Lhs.
Bool[0] == Rhs.Bool[0] &&
431 Lhs.
Bool[1] == Rhs.Bool[1] &&
432 Lhs.
Bool[2] == Rhs.Bool[2] &&
433 Lhs.
Bool[3] == Rhs.Bool[3];
454#if WITH_EDITORONLY_DATA
482 int32 SortPriority = 0;
485 FGuid ExpressionGuid;
494 bool bOverride =
false;
512 void UpdateHash(
FSHA1& Hasher)
const;
531 Value.Append(KeyGen);
#define check(expr)
Definition AssertionMacros.h:314
#define checkNoEntry()
Definition AssertionMacros.h:316
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EMaterialSamplerType
Definition EngineTypes.h:936
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
constexpr int32 NumMaterialEditorOnlyParameterTypes
Definition MaterialParameters.h:211
FString MaterialParameterTypeToString(EMaterialParameterType Type)
Definition MaterialParameters.h:247
EMaterialParameterType GetMaterialParameterTypeFromString(FString TypeName)
Definition MaterialParameters.h:253
constexpr int32 NumMaterialParameterTypes
Definition MaterialParameters.h:209
EMaterialGetParameterValueFlags
Definition MaterialParameters.h:260
bool IsNumericMaterialParameter(EMaterialParameterType InType)
Definition MaterialParameters.h:213
EMaterialParameterType
Definition MaterialParameters.h:187
ENGINE_API UE::Shader::FType GetShaderValueType(EMaterialParameterType Type)
Definition MaterialShared.cpp:5654
bool IsStaticMaterialParameter(EMaterialParameterType InType)
Definition MaterialParameters.h:226
EMaterialSetParameterValueFlags
Definition MaterialParameters.h:271
constexpr int32 NumMaterialRuntimeParameterTypes
Definition MaterialParameters.h:210
const UEnum * GetStaticMaterialParameterTypeEnum()
Definition MaterialParameters.h:240
EMaterialParameterAssociation
Definition MaterialParameters.h:25
@ BlendParameter
Definition MaterialParameters.h:27
@ GlobalParameter
Definition MaterialParameters.h:28
@ LayerParameter
Definition MaterialParameters.h:26
UE::Math::TVector4< double > FVector4d
Definition MathFwd.h:62
#define DECLARE_INTRINSIC_TYPE_LAYOUT(T)
Definition MemoryLayout.h:760
FORCEINLINE FScriptName NameToScriptName(FName InName)
Definition NameTypes.h:1607
FORCEINLINE FName ScriptNameToName(FScriptName InName)
Definition NameTypes.h:1597
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
#define ScalarMax
Definition ScalarRegister.h:245
#define ScalarMin
Definition ScalarRegister.h:244
constexpr uint32 HashCombine(uint32 A, uint32 C)
Definition TypeHash.h:36
Definition Archive.h:1208
Definition NameTypes.h:617
FORCEINLINE bool IsEqual(const FName &Other, const ENameCase CompareMethod=ENameCase::IgnoreCase, const bool bCompareNumber=true) const
Definition NameTypes.h:1585
Definition SecureHash.h:314
Definition ShaderKeyGenerator.h:29
CORE_API bool EqualTo(const FText &Other, const ETextComparisonLevel::Type ComparisonLevel=ETextComparisonLevel::Default) const
Definition Text.cpp:1289
Definition ArrayView.h:139
Definition EnumAsByte.h:22
Definition CurveLinearColorAtlas.h:72
Definition CurveLinearColor.h:29
Definition MaterialParameterCollection.h:79
Definition RuntimeVirtualTexture.h:18
Definition SparseVolumeTexture.h:309
Definition TextureCollection.h:47
Definition Texture.h:1219
Definition RuntimeVirtualTexture.h:231
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition MaterialParameters.h:33
FName Name
Definition MaterialParameters.h:37
FMaterialParameterInfo(FName InName=FName(), EMaterialParameterAssociation InAssociation=EMaterialParameterAssociation::GlobalParameter, int32 InIndex=INDEX_NONE)
Definition MaterialParameters.h:53
friend FArchive & operator<<(FArchive &Ar, FMaterialParameterInfo &Ref)
Definition MaterialParameters.h:71
friend bool operator==(const FMaterialParameterInfo &Lhs, const FMaterialParameterInfo &Rhs)
Definition MaterialParameters.h:79
int32 Index
Definition MaterialParameters.h:45
friend uint32 GetTypeHash(const FMaterialParameterInfo &Value)
Definition MaterialParameters.h:89
friend bool operator!=(const FMaterialParameterInfo &Lhs, const FMaterialParameterInfo &Rhs)
Definition MaterialParameters.h:84
FString ToString() const
Definition MaterialParameters.h:64
TEnumAsByte< EMaterialParameterAssociation > Association
Definition MaterialParameters.h:41
FMaterialParameterInfo(const TCHAR *InName, EMaterialParameterAssociation InAssociation=EMaterialParameterAssociation::GlobalParameter, int32 InIndex=INDEX_NONE)
Definition MaterialParameters.h:47
Definition MaterialParameters.h:341
USparseVolumeTexture * SparseVolumeTexture
Definition MaterialParameters.h:390
FMaterialParameterValue(UFont *InValue, int32 InPage)
Definition MaterialParameters.h:368
FMaterialParameterValue(const FStaticComponentMaskValue &InValue)
Definition MaterialParameters.h:370
FMaterialParameterValue(const FVector3f &InValue)
Definition MaterialParameters.h:345
FMaterialParameterValue(const FLinearColor &InValue)
Definition MaterialParameters.h:344
FMaterialParameterValue(UTexture *InValue)
Definition MaterialParameters.h:347
FMaterialParameterValue(bool InValue)
Definition MaterialParameters.h:369
int32 Page
Definition MaterialParameters.h:394
float AsScalar() const
Definition MaterialParameters.h:374
FVector4d AsVector4d() const
Definition MaterialParameters.h:376
FMaterialParameterValue(const URuntimeVirtualTexture *InValue)
Definition MaterialParameters.h:362
bool AsStaticSwitch() const
Definition MaterialParameters.h:377
float Float[4]
Definition MaterialParameters.h:385
FMaterialParameterValue(const UTexture *InValue)
Definition MaterialParameters.h:358
FMaterialParameterValue()
Definition MaterialParameters.h:342
double Double[4]
Definition MaterialParameters.h:384
friend bool operator==(const FMaterialParameterValue &Lhs, const FMaterialParameterValue &Rhs)
Definition MaterialParameters.h:401
UMaterialParameterCollection * ParameterCollection
Definition MaterialParameters.h:396
ENGINE_API UObject * AsTextureObject() const
Definition MaterialShared.cpp:5634
FMaterialParameterValue(const USparseVolumeTexture *InValue)
Definition MaterialParameters.h:364
FMaterialParameterValue(const TObjectPtr< UMaterialParameterCollection > &InValue)
Definition MaterialParameters.h:354
ENGINE_API UE::Shader::FValue AsShaderValue() const
Definition MaterialShared.cpp:5611
FStaticComponentMaskValue AsStaticComponentMask() const
Definition MaterialParameters.h:378
EMaterialParameterType Type
Definition MaterialParameters.h:399
UFont * Value
Definition MaterialParameters.h:393
FMaterialParameterValue(const TObjectPtr< UTextureCollection > &InValue)
Definition MaterialParameters.h:349
URuntimeVirtualTexture * RuntimeVirtualTexture
Definition MaterialParameters.h:389
FMaterialParameterValue(const UMaterialParameterCollection *InValue)
Definition MaterialParameters.h:366
UTextureCollection * TextureCollection
Definition MaterialParameters.h:388
FMaterialParameterValue(const FVector4d &InValue)
Definition MaterialParameters.h:346
friend bool operator!=(const FMaterialParameterValue &Lhs, const FMaterialParameterValue &Rhs)
Definition MaterialParameters.h:438
FName EnumEntry
Definition MaterialParameters.h:397
FMaterialParameterValue(const TObjectPtr< const UTexture > &InValue)
Definition MaterialParameters.h:359
FMaterialParameterValue(const TObjectPtr< UTexture > &InValue)
Definition MaterialParameters.h:348
FMaterialParameterValue(const TObjectPtr< USparseVolumeTexture > &InValue)
Definition MaterialParameters.h:353
UTexture * Texture
Definition MaterialParameters.h:387
FMaterialParameterValue(const UTextureCollection *InValue)
Definition MaterialParameters.h:360
struct FMaterialParameterValue::@1172::@1174 Font
FMaterialParameterValue(URuntimeVirtualTexture *InValue)
Definition MaterialParameters.h:350
FMaterialParameterValue(const TObjectPtr< const UTextureCollection > &InValue)
Definition MaterialParameters.h:361
bool Bool[4]
Definition MaterialParameters.h:386
FMaterialParameterValue(float InValue)
Definition MaterialParameters.h:343
FMaterialParameterValue(const TObjectPtr< URuntimeVirtualTexture > &InValue)
Definition MaterialParameters.h:351
FMaterialParameterValue(const TObjectPtr< const URuntimeVirtualTexture > &InValue)
Definition MaterialParameters.h:363
FMaterialParameterValue(bool bMaskR, bool bMaskG, bool bMaskB, bool bMaskA)
Definition MaterialParameters.h:371
FLinearColor AsLinearColor() const
Definition MaterialParameters.h:375
FMaterialParameterValue(USparseVolumeTexture *InValue)
Definition MaterialParameters.h:352
FMaterialParameterValue(const TObjectPtr< const USparseVolumeTexture > &InValue)
Definition MaterialParameters.h:365
Definition MaterialParameters.h:330
static FName GetTypeName()
Definition MaterialParameters.h:331
FGuid ExternalTextureGuid
Definition MaterialParameters.h:335
FMaterialParameterInfo ParameterInfo
Definition MaterialParameters.h:337
EMaterialSamplerType SamplerType
Definition MaterialParameters.h:336
UTexture * Texture
Definition MaterialParameters.h:333
Definition MaterialParameters.h:96
friend uint32 GetTypeHash(const FMemoryImageMaterialParameterInfo &Value)
Definition MaterialParameters.h:169
FMemoryImageMaterialParameterInfo(const FName &InName, EMaterialParameterAssociation InAssociation=EMaterialParameterAssociation::GlobalParameter, int32 InIndex=INDEX_NONE)
Definition MaterialParameters.h:105
FMemoryImageMaterialParameterInfo(const FMaterialParameterInfo &Rhs)
Definition MaterialParameters.h:117
friend bool operator==(const FMaterialParameterInfo &Lhs, const FMemoryImageMaterialParameterInfo &Rhs)
Definition MaterialParameters.h:149
friend FArchive & operator<<(FArchive &Ar, FMemoryImageMaterialParameterInfo &Ref)
Definition MaterialParameters.h:125
friend bool operator!=(const FMaterialParameterInfo &Lhs, const FMemoryImageMaterialParameterInfo &Rhs)
Definition MaterialParameters.h:154
friend bool operator!=(const FMemoryImageMaterialParameterInfo &Lhs, const FMemoryImageMaterialParameterInfo &Rhs)
Definition MaterialParameters.h:144
LAYOUT_FIELD(TEnumAsByte< EMaterialParameterAssociation >, Association)
LAYOUT_FIELD(FScriptName, Name)
FMemoryImageMaterialParameterInfo(const FScriptName &InName=FScriptName(), EMaterialParameterAssociation InAssociation=EMaterialParameterAssociation::GlobalParameter, int32 InIndex=INDEX_NONE)
Definition MaterialParameters.h:111
friend bool operator!=(const FMemoryImageMaterialParameterInfo &Lhs, const FMaterialParameterInfo &Rhs)
Definition MaterialParameters.h:164
friend bool operator==(const FMemoryImageMaterialParameterInfo &Lhs, const FMaterialParameterInfo &Rhs)
Definition MaterialParameters.h:159
LAYOUT_FIELD(int32, Index)
friend bool operator==(const FMemoryImageMaterialParameterInfo &Lhs, const FMemoryImageMaterialParameterInfo &Rhs)
Definition MaterialParameters.h:139
FMemoryImageMaterialParameterInfo(const TCHAR *InName, EMaterialParameterAssociation InAssociation=EMaterialParameterAssociation::GlobalParameter, int32 InIndex=INDEX_NONE)
Definition MaterialParameters.h:99
bool RemapLayerIndex(TArrayView< const int32 > IndexRemap, FMemoryImageMaterialParameterInfo &OutResult) const
Definition MaterialShared.cpp:5738
FName GetName() const
Definition MaterialParameters.h:123
DECLARE_TYPE_LAYOUT(FMemoryImageMaterialParameterInfo, NonVirtual)
Definition MaterialParameters.h:279
Definition NameTypes.h:491
Definition MaterialParameters.h:305
FStaticComponentMaskValue(bool InR, bool InG, bool InB, bool InA)
Definition MaterialParameters.h:309
FStaticComponentMaskValue()
Definition MaterialParameters.h:308
Definition MaterialParameters.h:503
bool bFullSimplify
Definition MaterialParameters.h:504
friend bool operator!=(const FSubstrateCompilationConfig &Lhs, const FSubstrateCompilationConfig &Rhs)
Definition MaterialParameters.h:522
int16 ClosuresPerPixelOverride
Definition MaterialParameters.h:506
int16 BytesPerPixelOverride
Definition MaterialParameters.h:505
friend bool operator==(const FSubstrateCompilationConfig &Lhs, const FSubstrateCompilationConfig &Rhs)
Definition MaterialParameters.h:517
Definition ObjectPtr.h:488
Definition SoftObjectPtr.h:174
Definition ShaderTypes.h:181
Definition ShaderTypes.h:368