UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialExpressionCustomOutput.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"
9#include "RHIDefinitions.h"
10#include "Shader/ShaderTypes.h"
11#include "MaterialExpressionCustomOutput.generated.h"
12
15{
17
18public:
19
20 // Override to enable multiple outputs
21 virtual int32 GetNumOutputs() const { return 1; };
22 // Override to limit the maximum number of outputs
23 virtual int32 GetMaxOutputs() const { return -1; };
24 virtual FString GetFunctionName() const PURE_VIRTUAL(UMaterialExpressionCustomOutput::GetFunctionName, return TEXT("GetCustomOutput"););
25 virtual FString GetDisplayName() const { return GetFunctionName(); }
26
27#if WITH_EDITOR
28 // Allow custom outputs to generate their own source code
29 virtual bool HasCustomSourceOutput() { return false; }
30 virtual bool AllowMultipleCustomOutputs() { return false; }
31 virtual bool NeedsCustomOutputDefines() { return true; }
32 virtual bool ShouldCompileBeforeAttributes() { return false; }
33 virtual bool NeedsPreviousFrameEvaluation() { return false; }
34
35 UE_DEPRECATED(5.6, "Use GetShaderFrequency(uint32 OutputIndex) instead")
36 virtual EShaderFrequency GetShaderFrequency() { return SF_Pixel; }
37
38 virtual EShaderFrequency GetShaderFrequency(uint32 OutputIndex)
39 {
41 return GetShaderFrequency();
43 }
44#endif
45};
46
47
48
#define PURE_VIRTUAL(func,...)
Definition CoreMiscDefines.h:103
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define TEXT(x)
Definition Platform.h:1272
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
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
EShaderFrequency
Definition RHIDefinitions.h:202
@ SF_Pixel
Definition RHIDefinitions.h:206
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition MaterialExpressionCustomOutput.h:15
virtual FString GetFunctionName() const PURE_VIRTUAL(UMaterialExpressionCustomOutput
Definition MaterialExpressionCustomOutput.h:24
virtual int32 GetNumOutputs() const
Definition MaterialExpressionCustomOutput.h:21
virtual int32 GetMaxOutputs() const
Definition MaterialExpressionCustomOutput.h:23
Definition MaterialExpression.h:150