UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialExpressionTextureSampleParameter.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3
4#pragma once
5
6#include "CoreMinimal.h"
8#include "Misc/Guid.h"
10#include "MaterialExpressionTextureSampleParameter.generated.h"
11
12class UTexture;
14
17{
19
21 FName ParameterName;
22
24 UPROPERTY()
25 FGuid ExpressionGUID;
26
30
33 int32 SortPriority = 32;
34
35 //~ Begin UMaterialExpression Interface
36#if WITH_EDITOR
37 ENGINE_API virtual void Build(MIR::FEmitter& Emitter) override;
38 ENGINE_API virtual int32 Compile(class FMaterialCompiler* Compiler, int32 OutputIndex) override;
39 ENGINE_API virtual void GetCaption(TArray<FString>& OutCaptions) const override;
40 ENGINE_API virtual bool MatchesSearchQuery(const TCHAR* SearchQuery) override;
41 virtual bool CanRenameNode() const override { return true; }
42 ENGINE_API virtual FString GetEditableName() const override;
43 ENGINE_API virtual void SetEditableName(const FString& NewName) override;
44
45 virtual bool HasAParameterName() const override { return true; }
46 virtual FName GetParameterName() const override { return ParameterName; }
47 virtual void SetParameterName(const FName& Name) override { ParameterName = Name; }
48 ENGINE_API virtual void ValidateParameterName(const bool bAllowDuplicateName) override;
49 virtual bool GetParameterValue(FMaterialParameterMetadata& OutMeta) const override
50 {
51 OutMeta.Value = Texture;
52 OutMeta.Description = Desc;
53 OutMeta.ExpressionGuid = ExpressionGUID;
54 OutMeta.Group = Group;
55 OutMeta.SortPriority = SortPriority;
56 OutMeta.AssetPath = GetAssetPathName();
57 OutMeta.ChannelNames = GetTextureChannelNames();
58 return true;
59 }
61 {
62 if (Meta.Value.Type == EMaterialParameterType::Texture)
63 {
64 if (SetParameterValue(Name, Meta.Value.Texture, Flags))
65 {
67 {
68 Group = Meta.Group;
69 SortPriority = Meta.SortPriority;
70 }
71 return true;
72 }
73 }
74 return false;
75 }
76#endif
77 //~ End UMaterialExpression Interface
78
79#if WITH_EDITOR
81
89 ENGINE_API virtual bool TextureIsValid(UTexture* InTexture, FString& OutMessage);
90
94 ENGINE_API virtual void SetDefaultTexture();
95#endif // WITH_EDITOR
96
97 virtual FGuid& GetParameterExpressionId() override
98 {
99 return ExpressionGUID;
100 }
101};
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
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
constexpr bool EnumHasAnyFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:35
EMaterialExpressionSetParameterValueFlags
Definition MaterialExpression.h:113
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition MaterialCompiler.h:109
Definition NameTypes.h:617
Definition Array.h:670
Definition MaterialExpressionTextureSampleParameter.h:17
Definition MaterialExpressionTextureSample.h:31
Definition Texture.h:1219
Definition Guid.h:109
Definition MaterialParameters.h:33
Definition MaterialParameters.h:446