UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialParameterCollectionInstance.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
7#pragma once
8
9#include "CoreMinimal.h"
11#include "UObject/Object.h"
12#include "MaterialParameterCollectionInstance.generated.h"
13
18
23UCLASS(hidecategories=object, MinimalAPI)
25{
27
28 //~ Begin UObject Interface.
29 ENGINE_API virtual void PostInitProperties() override;
30 ENGINE_API virtual void FinishDestroy() override;
31 //~ End UObject Interface.
32
35
36 bool IsCollectionValid() const { return Collection.IsValid(); }
37
39 ENGINE_API bool SetScalarParameterValue(FName ParameterName, float ParameterValue);
40 ENGINE_API bool SetVectorParameterValue(FName ParameterName, const FLinearColor& ParameterValue);
41 bool SetVectorParameterValue(FName ParameterName, const FVector& ParameterValue) { return SetVectorParameterValue(ParameterName, FLinearColor(ParameterValue)); }
42 bool SetVectorParameterValue(FName ParameterName, const FVector4& ParameterValue) { return SetVectorParameterValue(ParameterName, FLinearColor(ParameterValue)); }
43
45 ENGINE_API bool GetScalarParameterValue(FName ParameterName, float& OutParameterValue) const;
46 ENGINE_API bool GetVectorParameterValue(FName ParameterName, FLinearColor& OutParameterValue) const;
47
49 ENGINE_API bool GetScalarParameterValue(const FCollectionScalarParameter& Parameter, float& OutParameterValue) const;
50 ENGINE_API bool GetVectorParameterValue(const FCollectionVectorParameter& Parameter, FLinearColor& OutParameterValue) const;
51
53 {
54 return Resource;
55 }
56
57 const UMaterialParameterCollection* GetCollection() const
58 {
59 return Collection.Get();
60 }
61
64 FOnScalarParameterUpdated& OnScalarParameterUpdated()
65 {
66 return ScalarParameterUpdatedDelegate;
67 }
68
71 FOnVectorParameterUpdated& OnVectorParameterUpdated()
72 {
73 return VectorParameterUpdatedDelegate;
74 }
75
76 ENGINE_API void UpdateRenderState(bool bRecreateUniformBuffer);
77
78 ENGINE_API void DeferredUpdateRenderState(bool bRecreateUniformBuffer);
79
80 ENGINE_API void ForceReturnToDefaultValues();
81
83 bool bLoggedMissingParameterWarning;
84
85protected:
86
88 UPROPERTY()
90
93
95 TMap<FName, float> ScalarParameterValues;
96
98 TMap<FName, FLinearColor> VectorParameterValues;
99
102
104 FOnScalarParameterUpdated ScalarParameterUpdatedDelegate;
105
107 FOnVectorParameterUpdated VectorParameterUpdatedDelegate;
108
110 ENGINE_API void GetParameterData(TArray<FVector4f>& ParameterData) const;
111
113 bool bNeedsRenderStateUpdate;
114};
115
116
117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition ParameterCollection.h:25
Definition NameTypes.h:617
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition MaterialParameterCollectionInstance.h:25
Definition MaterialParameterCollection.h:79
virtual void PostInitProperties() override
Definition ParameterCollection.cpp:42
Definition Object.h:95
Definition World.h:918
Definition MaterialParameterCollection.h:44
Definition MaterialParameterCollection.h:60
Definition Color.h:48
Definition Tuple.h:652
Definition WeakObjectPtrTemplates.h:25