6#include "SubstrateDefinitions.h"
9#include "SubstrateMaterialShared.generated.h"
161#define SUBSTRATE_COMPILATION_OUTPUT_MAX_OPERATOR 24
164#define SUBSTRATE_MATERIAL_TYPE_SINGLESLAB 0
165#define SUBSTRATE_MATERIAL_TYPE_MULTIPLESLABS 1
166#define SUBSTRATE_MATERIAL_TYPE_VOLUMETRICFOGCLOUD 2
167#define SUBSTRATE_MATERIAL_TYPE_UNLIT 3
168#define SUBSTRATE_MATERIAL_TYPE_HAIR 4
169#define SUBSTRATE_MATERIAL_TYPE_SINGLELAYERWATER 5
170#define SUBSTRATE_MATERIAL_TYPE_EYE 6
171#define SUBSTRATE_MATERIAL_TYPE_LIGHTFUNCTION 7
172#define SUBSTRATE_MATERIAL_TYPE_POSTPROCESS 8
173#define SUBSTRATE_MATERIAL_TYPE_UI 9
174#define SUBSTRATE_MATERIAL_TYPE_DECAL 10
#define checkSlow(expr)
Definition AssertionMacros.h:332
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
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
#define DECLARE_INTRINSIC_TYPE_LAYOUT(T)
Definition MemoryLayout.h:760
#define UENUM(...)
Definition ObjectMacros.h:749
FORCEINLINE bool UsesSubstrateTileType(uint8 InTypes, ESubstrateTileType In)
Definition SubstrateMaterialShared.h:99
#define SUBSTRATE_COMPILATION_OUTPUT_MAX_OPERATOR
Definition SubstrateMaterialShared.h:161
ESubstrateTileType
Definition SubstrateMaterialShared.h:67
@ EOpaqueRoughRefractionSSSWithout
Definition SubstrateMaterialShared.h:74
@ EDecalSimple
Definition SubstrateMaterialShared.h:75
@ ECount
Definition SubstrateMaterialShared.h:78
@ ESimple
Definition SubstrateMaterialShared.h:68
@ EOpaqueRoughRefraction
Definition SubstrateMaterialShared.h:73
@ EComplexSpecial
Definition SubstrateMaterialShared.h:71
@ EDecalComplex
Definition SubstrateMaterialShared.h:77
@ EComplex
Definition SubstrateMaterialShared.h:70
@ EDecalSingle
Definition SubstrateMaterialShared.h:76
@ ESingle
Definition SubstrateMaterialShared.h:69
FORCEINLINE uint32 GetSubstrateTileTypeAsUint8(ESubstrateTileType In)
Definition SubstrateMaterialShared.h:94
FORCEINLINE ESubstrateTileType GetSubstrateTileTypeFromMaterialType(uint32 InMaterialType)
Definition SubstrateMaterialShared.h:83
ESubstrateBsdfFeature
Definition SubstrateMaterialShared.h:30
@ SecondRoughnessOrSimpleClearCoat
@ EyeIrisTangentPluggedIn
Definition MemoryImage.h:743
FString ToString(uint16 Value)
Definition PathFollowingComponent.cpp:82
Definition SpecularProfile.h:91
U16 Index
Definition radfft.cpp:71
Definition SubstrateMaterialShared.h:177
LAYOUT_FIELD_EDITORONLY(uint8, SharedLocalBasesCount)
LAYOUT_FIELD_EDITORONLY(uint8, PlatformClosurePixel)
LAYOUT_FIELD(uint8, SubstrateClosureCount)
LAYOUT_FIELD_EDITORONLY(uint8, RequestedBytePerPixel)
LAYOUT_FIELD_EDITORONLY(int8, RootOperatorIndex)
LAYOUT_FIELD(ESubstrateBsdfFeature, SubstrateMaterialBsdfFeatures)
LAYOUT_FIELD_EDITORONLY(uint8, PlatformBytePerPixel)
LAYOUT_FIELD_EDITORONLY(uint8, bMaterialOutOfBudgetHasBeenSimplified, 1)
LAYOUT_FIELD(uint8, SubstrateMaterialType)
LAYOUT_FIELD_EDITORONLY(uint8, RequestedClosurePerPixel)
DECLARE_TYPE_LAYOUT(FSubstrateMaterialCompilationOutput, NonVirtual)
LAYOUT_FIELD(uint8, SubstrateUintPerPixel)
FSubstrateMaterialCompilationOutput()
Definition SubstrateMaterialShared.cpp:10
LAYOUT_FIELD_EDITORONLY(uint8, MaterialType)
LAYOUT_FIELD_EDITORONLY(uint8, bIsThin)
LAYOUT_FIELD_EDITORONLY(FMemoryImageString, SubstrateMaterialDescription)
LAYOUT_FIELD_EDITORONLY(uint8, bMaterialUsesLegacyGBufferDataPassThrough, 1)
LAYOUT_ARRAY_EDITORONLY(FSubstrateOperator, Operators, SUBSTRATE_COMPILATION_OUTPUT_MAX_OPERATOR)
Definition SubstrateMaterialShared.h:105
FSubstrateOperator()
Definition SubstrateMaterialShared.cpp:40
LAYOUT_FIELD_EDITORONLY(uint8, SubUsage)
LAYOUT_FIELD_EDITORONLY(int32, OperatorType)
LAYOUT_FIELD_EDITORONLY(uint8, bNodeRequestParameterBlending)
LAYOUT_FIELD_EDITORONLY(int32, BSDFIndex)
LAYOUT_FIELD_EDITORONLY(int32, ParentIndex)
LAYOUT_FIELD_EDITORONLY(uint8, SubSurfaceType)
LAYOUT_FIELD_EDITORONLY(int32, LeftIndex)
LAYOUT_FIELD_EDITORONLY(FSubstrateRegisteredSharedLocalBasis, BSDFRegisteredSharedLocalBasis)
LAYOUT_FIELD_EDITORONLY(uint8, bIsBottom)
bool Has(ESubstrateBsdfFeature In) const
Definition SubstrateMaterialShared.h:151
LAYOUT_FIELD_EDITORONLY(ESubstrateBsdfFeature, BSDFFeatures)
LAYOUT_FIELD_EDITORONLY(int32, MaxDistanceFromLeaves)
DECLARE_TYPE_LAYOUT(FSubstrateOperator, NonVirtual)
LAYOUT_FIELD_EDITORONLY(int32, RightIndex)
void CopyFlagsForParameterBlending(FSubstrateOperator &A)
Definition SubstrateMaterialShared.cpp:79
LAYOUT_FIELD_EDITORONLY(FGuid, MaterialExpressionGuid)
LAYOUT_FIELD_EDITORONLY(int32, LayerDepth)
LAYOUT_FIELD_EDITORONLY(uint8, bRootOfParameterBlendingSubTree)
bool IsDiscarded() const
Definition SubstrateMaterialShared.cpp:87
LAYOUT_FIELD_EDITORONLY(int32, BSDFType)
LAYOUT_FIELD_EDITORONLY(uint8, bBSDFWritesAmbientOcclusion)
LAYOUT_FIELD_EDITORONLY(int32, ThicknessIndex)
LAYOUT_FIELD_EDITORONLY(int32, Index)
LAYOUT_FIELD_EDITORONLY(uint8, bIsTop)
LAYOUT_FIELD_EDITORONLY(uint8, bBSDFWritesEmissive)
void CombineFlagsForParameterBlending(FSubstrateOperator &A, FSubstrateOperator &B)
Definition SubstrateMaterialShared.cpp:71
LAYOUT_FIELD_EDITORONLY(uint8, bUseParameterBlending)
Definition SubstrateMaterialShared.h:16
FSubstrateRegisteredSharedLocalBasis()
Definition SubstrateMaterialShared.cpp:98
DECLARE_TYPE_LAYOUT(FSubstrateRegisteredSharedLocalBasis, NonVirtual)
LAYOUT_FIELD_EDITORONLY(uint64, TangentCodeChunkHash)
LAYOUT_FIELD_EDITORONLY(int32, NormalCodeChunk)
LAYOUT_FIELD_EDITORONLY(uint64, NormalCodeChunkHash)
LAYOUT_FIELD_EDITORONLY(int32, TangentCodeChunk)
LAYOUT_FIELD_EDITORONLY(uint8, GraphSharedLocalBasisIndex)