UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialParameters.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Misc/Guid.h"
10#include "Shader/ShaderTypes.h"
11#include "MaterialParameters.generated.h"
12
14class UTexture;
18class UFont;
22
23UENUM()
30
31USTRUCT(BlueprintType)
33{
35
36 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = ParameterInfo)
38
40 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = ParameterInfo)
42
44 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = ParameterInfo)
46
59
61
62 ENGINE_API void AppendString(FString& Out) const;
63 ENGINE_API void Append(FShaderKeyGenerator& KeyGen) const;
64 FString ToString() const
65 {
66 FString Out;
67 AppendString(Out);
68 return Out;
69 }
70
72 {
73 Ar << Ref.Name << Ref.Association << Ref.Index;
74 return Ar;
75 }
76
77 ENGINE_API bool RemapLayerIndex(TArrayView<const int32> IndexRemap, FMaterialParameterInfo& OutResult) const;
78
79 friend inline bool operator==(const FMaterialParameterInfo& Lhs, const FMaterialParameterInfo& Rhs)
80 {
81 return Lhs.Name.IsEqual(Rhs.Name) && Lhs.Association == Rhs.Association && Lhs.Index == Rhs.Index;
82 }
83
84 friend inline bool operator!=(const FMaterialParameterInfo& Lhs, const FMaterialParameterInfo& Rhs)
85 {
86 return !operator==(Lhs, Rhs);
87 }
88
90 {
91 return HashCombine(HashCombine(GetTypeHash(NameToScriptName(Value.Name)), Value.Index), (uint32)Value.Association);
92 }
93};
94
96{
98public:
104
110
116
119 , Index(Rhs.Index)
120 , Association(Rhs.Association)
121 {}
122
123 inline FName GetName() const { return ScriptNameToName(Name); }
124
126 {
127 FName RefName = ScriptNameToName(Ref.Name);
128 Ar << RefName << Ref.Association << Ref.Index;
129 Ref.Name = NameToScriptName(RefName);
130 return Ar;
131 }
132
134
138
140 {
141 return Lhs.Name == Rhs.Name && Lhs.Association == Rhs.Association && Lhs.Index == Rhs.Index;
142 }
143
145 {
146 return !operator==(Lhs, Rhs);
147 }
148
149 friend inline bool operator==(const FMaterialParameterInfo& Lhs, const FMemoryImageMaterialParameterInfo& Rhs)
150 {
151 return Lhs.Name == Rhs.Name && Lhs.Index == Rhs.Index && Lhs.Association == Rhs.Association;
152 }
153
154 friend inline bool operator!=(const FMaterialParameterInfo& Lhs, const FMemoryImageMaterialParameterInfo& Rhs)
155 {
156 return !operator==(Lhs, Rhs);
157 }
158
159 friend inline bool operator==(const FMemoryImageMaterialParameterInfo& Lhs, const FMaterialParameterInfo& Rhs)
160 {
161 return Lhs.Name == Rhs.Name && Lhs.Index == Rhs.Index && Lhs.Association == Rhs.Association;
162 }
163
164 friend inline bool operator!=(const FMemoryImageMaterialParameterInfo& Lhs, const FMaterialParameterInfo& Rhs)
165 {
166 return !operator==(Lhs, Rhs);
167 }
168
170 {
171 return HashCombine(HashCombine(GetTypeHash(Value.Name), Value.Index), (uint32)Value.Association);
172 }
173};
174
177 , Association(Rhs.Association)
178 , Index(Rhs.Index)
179{
180}
181
182// Backwards compat
184
185UENUM()
187{
188 Scalar = 0u,
189 Vector,
191 Texture,
193 Font,
198
199 NumRuntime, // Runtime parameter types must go above here, and editor-only ones below
200
201 // TODO - Would be nice to make static parameter values editor-only, but will save that for a future-refactor
203
204 Num,
205 None = 0xff,
206};
208
212
214{
215 switch (InType)
216 {
220 return true;
221 default:
222 return false;
223 }
224}
225
227{
228 switch (InType)
229 {
232 return true;
233 default:
234 return false;
235 }
236}
237
239
241{
243 check(Enum);
244 return Enum;
245}
246
248{
250 return Enum->GetNameStringByValue(int64(Type));
251}
252
254{
256 return static_cast<EMaterialParameterType>(Enum->GetValueByName(FName(TypeName)));
257}
258
260{
261 None = 0u,
262 CheckNonOverrides = (1u << 0),
263 CheckInstanceOverrides = (1u << 1),
264
267};
269
271{
272 None = 0u,
273 SetCurveAtlas = (1u << 0),
274};
276
277USTRUCT(BlueprintType)
279{
281
283 FParameterChannelNames(const FText& InR, const FText& InG, const FText& InB, const FText& InA) : R(InR), G(InG), B(InB), A(InA) {}
284
285 UPROPERTY(EditAnywhere, Category = MaterialExpressionVectorParameter)
287
288 UPROPERTY(EditAnywhere, Category = MaterialExpressionVectorParameter)
290
291 UPROPERTY(EditAnywhere, Category = MaterialExpressionVectorParameter)
293
294 UPROPERTY(EditAnywhere, Category = MaterialExpressionVectorParameter)
296
297 bool operator==(const FParameterChannelNames& Other) const
298 {
299 return R.EqualTo(Other.R) && G.EqualTo(Other.G) && B.EqualTo(Other.B) && A.EqualTo(Other.A);
300 }
301};
302
303USTRUCT()
305{
307
309 FStaticComponentMaskValue(bool InR, bool InG, bool InB, bool InA) : R(InR), G(InG), B(InB), A(InA) {}
310
311 UPROPERTY()
313
314 UPROPERTY()
315 bool G = false;
316
317 UPROPERTY()
318 bool B = false;
319
320 UPROPERTY()
321 bool A = false;
322
323 bool operator==(const FStaticComponentMaskValue& Other) const
324 {
325 return R == Other.R && G == Other.G && B == Other.B && A == Other.A;
326 }
327};
328
339
341{
355
356 // Gamethread parameters are typically non-const, but renderthread parameters are const
357 // Would be possible to store an additional const-flag member, and provide runtime checks to ensure constness is not violated...maybe worth doing in the future
367
373
374 inline float AsScalar() const { check(Type == EMaterialParameterType::Scalar); return Float[0]; }
377 inline bool AsStaticSwitch() const { check(Type == EMaterialParameterType::StaticSwitch); return Bool[0]; }
381
382 union
383 {
384 double Double[4];
385 float Float[4];
386 bool Bool[4];
391 struct
392 {
398 };
400
401 friend inline bool operator==(const FMaterialParameterValue& Lhs, const FMaterialParameterValue& Rhs)
402 {
403 const EMaterialParameterType ParameterType = Lhs.Type;
404 if (ParameterType != Rhs.Type)
405 {
406 return false;
407 }
408 switch (ParameterType)
409 {
410 case EMaterialParameterType::None: return true;
411 case EMaterialParameterType::Scalar: return Lhs.Float[0] == Rhs.Float[0];
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];
422 case EMaterialParameterType::Texture: return Lhs.Texture == Rhs.Texture;
423 case EMaterialParameterType::TextureCollection: return Lhs.TextureCollection == Rhs.TextureCollection;
424 case EMaterialParameterType::Font: return Lhs.Font.Value == Rhs.Font.Value && Lhs.Font.Page == Rhs.Font.Page;
425 case EMaterialParameterType::RuntimeVirtualTexture: return Lhs.RuntimeVirtualTexture == Rhs.RuntimeVirtualTexture;
426 case EMaterialParameterType::SparseVolumeTexture: return Lhs.SparseVolumeTexture == Rhs.SparseVolumeTexture;
427 case EMaterialParameterType::StaticSwitch: return Lhs.Bool[0] == Rhs.Bool[0];
428 case EMaterialParameterType::ParameterCollection: return Lhs.ParameterCollection == Rhs.ParameterCollection;
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];
434 default: checkNoEntry(); return false;
435 }
436 }
437
438 friend inline bool operator!=(const FMaterialParameterValue& Lhs, const FMaterialParameterValue& Rhs)
439 {
440 return !operator==(Lhs, Rhs);
441 }
442};
443
446{
449
453
454#if WITH_EDITORONLY_DATA
456 FParameterChannelNames ChannelNames;
457
461
463 FString Description;
464
466 FString AssetPath;
467
469 FName Group;
470
472 float ScalarMin = 0.0f;
473 float ScalarMax = 0.0f;
474
477
480
482 int32 SortPriority = 0;
483
485 FGuid ExpressionGuid;
486
488 bool bUsedAsAtlasPosition = false;
489
491 bool bUsedAsChannelMask = false;
492
494 bool bOverride = false;
495#endif // WITH_EDITORONLY_DATA
496
499};
500
501class FSHA1;
503{
504 bool bFullSimplify = false;
507
508#if WITH_EDITOR
509 FString GetShaderMapKeyString() const;
510 void Append(FShaderKeyGenerator& KeyGen) const;
511
512 void UpdateHash(FSHA1& Hasher) const;
513
514 void Serialize(FArchive& Ar);
515#endif
516
517 friend inline bool operator==(const FSubstrateCompilationConfig& Lhs, const FSubstrateCompilationConfig& Rhs)
518 {
519 return Lhs.bFullSimplify == Rhs.bFullSimplify && Lhs.BytesPerPixelOverride == Rhs.BytesPerPixelOverride && Lhs.ClosuresPerPixelOverride == Rhs.ClosuresPerPixelOverride;
520 }
521
522 friend inline bool operator!=(const FSubstrateCompilationConfig& Lhs, const FSubstrateCompilationConfig& Rhs)
523 {
524 return !operator==(Lhs, Rhs);
525 }
526private:
527#if WITH_EDITOR
528 // Hidden friend for the FShaderKeyGenerator Append API
529 friend inline void Append(FShaderKeyGenerator& KeyGen, const FSubstrateCompilationConfig& Value)
530 {
531 Value.Append(KeyGen);
532 }
533#endif
534};
#define check(expr)
Definition AssertionMacros.h:314
#define checkNoEntry()
Definition AssertionMacros.h:316
@ INDEX_NONE
Definition CoreMiscDefines.h:150
FPlatformTypes::int16 int16
A 16-bit signed integer.
Definition Platform.h:1123
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
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
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
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
Definition Text.h:385
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 Class.h:2791
Definition Font.h:111
Definition MaterialParameterCollection.h:79
Definition Object.h:95
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 Guid.h:109
Definition Color.h:48
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:446
FMaterialParameterMetadata(EMaterialParameterType Type, const UE::Shader::FValue &InValue)
Definition MaterialParameters.h:452
FMaterialParameterValue Value
Definition MaterialParameters.h:447
int32 PrimitiveDataIndex
Definition MaterialParameters.h:448
bool bDynamicSwitchParameter
Definition MaterialParameters.h:498
FMaterialParameterMetadata()=default
FMaterialParameterMetadata(const FMaterialParameterValue &InValue)
Definition MaterialParameters.h:451
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)
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
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