29#include "Interfaces/ITargetPlatformManagerModule.h"
33#include "Containers/Map.h"
39#if WITH_EDITORONLY_DATA
53#include "Containers/HashTable.h"
68#if WITH_EDITORONLY_DATA
180 FString Implementation;
255 bool bAdaptive =
false;
259 bool bCollection =
false;
284 int32 StackIndex = 0;
388 uint32 bUsesSceneDepth : 1;
447 uint32 bUsesPixelDepthOffset : 1;
448 uint32 bUsesWorldPositionOffset : 1;
449 uint32 bUsesDisplacement : 1;
451 uint32 bUsesDistanceCullFade : 1;
458 uint32 bUsesAnisotropy : 1;
487 uint32 bUsesFirstPersonInterpolation : 1;
538 return PackedData !=
B.PackedData;
543 return PackedData <
B.PackedData;
665 bool ShouldStopTranslating()
const override;
676 template<
typename ExpressionsArrayType>
682 template<
typename ExpressionsArrayType>
806 template <
typename... Types>
813 template <
typename... Types>
820 template <
typename... Types>
832 template <
typename... Types>
839 template <
typename... Types>
846 template <
typename... Types>
924 virtual FGuid PopMaterialAttribute()
override;
925 virtual const FGuid GetMaterialAttribute()
override;
941 bool IsTangentSpaceNormal()
const;
968 virtual int32 CastShadingModelToFloat(
int32 Code)
override;
970 virtual int32 TruncateLWC(
int32 Code)
override;
978 virtual int32 GetCurrentFunctionStackDepth()
override;
985 virtual int32 Constant2(
float X,
float Y)
override;
986 virtual int32 Constant3(
float X,
float Y,
float Z)
override;
987 virtual int32 Constant4(
float X,
float Y,
float Z,
float W)
override;
991 virtual int32 IsOrthographic()
override;
995 virtual int32 DeltaTime()
override;
1027 virtual int32 ReflectionVector()
override;
1029 virtual int32 ReflectionAboutCustomWorldNormal(
int32 CustomWorldNormal,
int32 bNormalizeCustomWorldNormal)
override;
1031 virtual int32 CameraVector()
override;
1032 virtual int32 LightVector()
override;
1034 virtual int32 GetViewportUV()
override;
1036 virtual int32 GetPixelPosition()
override;
1038 virtual int32 ParticleMacroUV()
override;
1040 virtual int32 ParticleSubUVProperty(
int32 PropertyIndex)
override;
1041 virtual int32 ParticleColor()
override;
1043 virtual int32 ParticleRadius()
override;
1047 virtual int32 ParticleRelativeTime()
override;
1048 virtual int32 ParticleMotionBlurFade()
override;
1049 virtual int32 ParticleRandom()
override;
1050 virtual int32 ParticleDirection()
override;
1051 virtual int32 ParticleSpeed()
override;
1052 virtual int32 ParticleSize()
override;
1053 virtual int32 ParticleSpriteRotation()
override;
1059 virtual int32 ObjectRadius()
override;
1060 virtual int32 ObjectBounds()
override;
1062 virtual int32 ObjectLocalBounds(
int32 OutputIndex)
override;
1063 virtual int32 InstanceLocalBounds(
int32 OutputIndex)
override;
1064 virtual int32 PreSkinnedLocalBounds(
int32 OutputIndex)
override;
1066 virtual int32 DistanceCullFade()
override;
1080 virtual void SetPotentiallyManipulateTexCoords()
override;
1091 int32 CoordinateIndex,
1099 bool AutomaticViewMipBias =
false,
1100 bool AdaptiveVirtualTexture =
false,
1119 virtual int32 TextureDecalDerivative(
bool bDDY)
override;
1121 virtual int32 DecalColor()
override;
1122 virtual int32 DecalLifetimeOpacity()
override;
1124 virtual int32 PixelDepth()
override;
1161 virtual int32 VirtualTextureCustomData()
override;
1163 virtual int32 ExternalTexture(
const FGuid& ExternalTextureGuid)
override;
1183 virtual int32 StaticBoolParameter(
FName ParameterName,
bool bDefaultValue)
override;
1184 virtual int32 DynamicBoolParameter(
FName ParameterName,
bool bDefaultValue)
override;
1190 virtual bool GetStaticBoolValue(
int32 BoolIndex,
bool& bSucceeded)
override;
1196 virtual int32 FontSignedDistanceData()
override;
1199 virtual int32 MeshPaintTextureCoordinateIndex()
override;
1200 virtual int32 MeshPaintTextureDescriptor()
override;
1203 virtual int32 PreSkinnedPosition()
override;
1204 virtual int32 PreSkinnedNormal()
override;
1206 virtual int32 VertexInterpolator(
uint32 InterpolatorIndex)
override;
1256 virtual int32 LightmapUVs()
override;
1257 virtual int32 PrecomputedAOMask()
override;
1269 virtual int32 ObjectOrientation()
override;
1273 virtual int32 TwoSidedSign()
override;
1274 virtual int32 VertexNormal()
override;
1275 virtual int32 VertexTangent()
override;
1276 virtual int32 PixelNormalWS()
override;
1277 virtual int32 IsFirstPerson()
override;
1294 virtual int32 Noise(
int32 Position,
EPositionOrigin PositionOrigin,
float Scale,
int32 Quality,
uint8 NoiseFunction,
bool bTurbulence,
int32 Levels,
float OutputMin,
float OutputMax,
float LevelScale,
int32 FilterWidth,
bool bTiling,
uint32 RepeatSize)
override;
1296 virtual int32 ScalarBlueNoise()
override;
1298 virtual int32 BlackBody(
int32 Temp)
override;
1300 virtual int32 GetHairUV()
override;
1301 virtual int32 GetHairDimensions()
override;
1302 virtual int32 GetHairSeed()
override;
1303 virtual int32 GetHairClumpID()
override;
1304 virtual int32 GetHairTangent(
bool bUseTangentSpace)
override;
1305 virtual int32 GetHairRootUV()
override;
1306 virtual int32 GetHairBaseColor()
override;
1307 virtual int32 GetHairAO()
override;
1308 virtual int32 GetHairRoughness()
override;
1309 virtual int32 GetHairDepth()
override;
1311 virtual int32 GetHairAuxilaryData()
override;
1312 virtual int32 GetHairAtlasUVs()
override;
1313 virtual int32 GetHairGroupIndex()
override;
1320 virtual int32 AtmosphericLightVector()
override;
1321 virtual int32 AtmosphericLightColor()
override;
1324 virtual int32 SkyAtmosphereLightIlluminanceOnGround(
int32 LightIndex)
override;
1325 virtual int32 SkyAtmosphereLightDirection(
int32 LightIndex)
override;
1329 virtual int32 SkyAtmosphereDistantLightScatteredLuminance()
override;
1336 virtual int32 GetCloudSampleAltitude()
override;
1337 virtual int32 GetCloudSampleAltitudeInLayer()
override;
1338 virtual int32 GetCloudSampleNormAltitudeInLayer()
override;
1339 virtual int32 GetCloudSampleShadowSampleDistance()
override;
1340 virtual int32 GetVolumeSampleConservativeDensity()
override;
1341 virtual int32 GetCloudEmptySpaceSkippingSphereCenterWorldPosition()
override;
1342 virtual int32 GetCloudEmptySpaceSkippingSphereRadius()
override;
1348 virtual int32 MapARPassthroughCameraUV(
int32 UV)
override;
1354 virtual int32 PushRuntimeVirtualTextureOutput()
override;
1356 virtual bool IsInRuntimeVirtualTextureOutput()
const override;
1359 virtual int32 DefaultMaterialAttributes()
override;
1363 virtual int32 BeginScope()
override;
1364 virtual int32 BeginScope_If(
int32 Condition)
override;
1365 virtual int32 BeginScope_Else()
override;
1367 virtual int32 EndScope()
override;
1374 virtual int32 NeuralOutput(
int32 ViewportUV,
uint32 NeuralIndexType)
override;
1377 virtual int32 SubstrateCreateAndRegisterNullMaterial()
override;
1378 virtual int32 SubstrateSlabBSDF(
1382 int32 EmissiveColor,
1391 virtual int32 SubstrateConversionFromLegacy(
1397 int32 EmissiveColor,
1400 int32 ThinTranslucentSurfaceCoverage,
1401 int32 WaterScatteringCoefficients,
int32 WaterAbsorptionCoefficients,
int32 WaterPhaseG,
int32 ColorScaleBehindWater,
1411 virtual int32 SubstrateEyeBSDF(
int32 DiffuseColor,
int32 Roughness,
int32 IrisMask,
int32 IrisDistance,
int32 EmissiveColor,
int32 CorneaNormal,
int32 IrisNormal,
int32 IrisPlaneNormal,
int32 SSSProfileId,
const FString&
SharedLocalBasisIndexMacro,
FSubstrateOperator*
PromoteToOperator)
override;
1412 virtual int32 SubstrateSingleLayerWaterBSDF(
1427 virtual int32 SubstrateHazinessToSecondaryRoughness(
int32 BaseRoughness,
int32 Haziness,
int32 OutputIndex)
override;
1430 virtual bool SubstrateSkipsOpacityEvaluation()
override;
1433 virtual FGuid SubstrateTreeStackGetPathUniqueId()
override;
1434 virtual FGuid SubstrateTreeStackGetParentPathUniqueId()
override;
1435 virtual void SubstrateTreeStackPop()
override;
1436 virtual bool GetSubstrateTreeOutOfStackDepthOccurred()
override;
1438 virtual int32 SubstrateThicknessStackGetThicknessIndex()
override;
1439 virtual int32 SubstrateThicknessStackGetThicknessCode(
int32 Index)
override;
1442 virtual void SubstrateThicknessStackPop()
override;
1452 virtual int32 SubstrateVerticalLayeringParameterBlendingBSDFCoverageToNormalMixCodeChunk(
int32 TopCodeChunk)
override;
1460 virtual int32 PerInstanceRandom()
override;
1467 virtual int32 PerInstanceFadeAmount()
override;
1516 virtual bool IsCurrentlyCompilingForPreviousFrame()
const;
1518 virtual bool IsDevelopmentFeatureEnabled(
const FName& FeatureName)
const override;
1598 Translator->AddingUniformExpression++;
1602 Translator->AddingUniformExpression--;
1603 check(Translator->AddingUniformExpression >= 0);
1606 FHLSLMaterialTranslator* Translator;
#define NULL
Definition oodle2base.h:134
#define check(expr)
Definition AssertionMacros.h:314
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
D3D12_DESCRIPTOR_HEAP_TYPE Translate(ERHIDescriptorHeapType InHeapType)
Definition D3D12Descriptors.h:19
ESamplerSourceMode
Definition EngineTypes.h:281
ETextureMipValueMode
Definition EngineTypes.h:295
EMaterialSamplerType
Definition EngineTypes.h:936
EMaterialShadingModel
Definition EngineTypes.h:705
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
EDerivativeStatus
Definition HLSLMaterialDerivativeAutogen.h:21
float GetHairCoverage(uint32 InCount, float InAvgRadius)
Return the hair coverage for a certain hair count and normalized avg hair radius (i....
Definition HairStrandsLUT.cpp:205
bool operator<(const FTextFormatString &LHS, const FTextFormatString &RHS)
Definition ITextFormatArgumentModifier.h:147
void Scatter(const DeltaType &Delta, TArray< ValueType > &OutDest, int32 DestNumElements, TArray< ValueType > &&InSource, const IndexRemapType &IndexRemap, int32 ElementStride=1)
Definition InstanceDataUpdateUtils.h:23
UE_FORCEINLINE_HINT bool operator!=(const FIndexedPointer &Other) const
Definition LockFreeList.h:76
EMaterialCustomOutputFlags
Definition MaterialCompiler.h:88
EPositionIncludedOffsets
Definition MaterialExpressionLocalPosition.h:13
ELocalPositionOrigin
Definition MaterialExpressionLocalPosition.h:24
EVirtualTextureUnpackType
Definition MaterialExpressionRuntimeVirtualTextureSample.h:72
EMaterialExposedTextureProperty
Definition MaterialExpressionTextureProperty.h:17
ETextureGatherMode
Definition MaterialExpressionTextureSample.h:19
EMaterialExposedViewProperty
Definition MaterialExpressionViewProperty.h:13
EWorldPositionIncludedOffsets
Definition MaterialExpressionWorldPosition.h:14
EPositionOrigin
Definition MaterialExpression.h:645
EMaterialParameterType
Definition MaterialParameters.h:187
ESceneTextureId
Definition MaterialSceneTextureId.h:13
@ CompiledMP_MAX
Definition MaterialShared.h:1923
EMaterialCommonBasis
Definition MaterialShared.h:312
ELWCFunctionKind
Definition MaterialShared.h:294
ECompiledPartialDerivativeVariation
Definition MaterialShared.h:1932
@ CompiledPDV_MAX
Definition MaterialShared.h:1935
@ CompiledPDV_Analytic
Definition MaterialShared.h:1934
@ CompiledPDV_FiniteDifferences
Definition MaterialShared.h:1933
constexpr uint32 NumMaterialTextureParameterTypes
Definition MaterialShared.h:541
EMaterialValueType
Definition MaterialValueType.h:15
EShaderFrequency
Definition RHIDefinitions.h:202
@ SF_NumFrequencies
Definition RHIDefinitions.h:216
EMaterialProperty
Definition SceneTypes.h:148
decltype(auto) Visit(Func &&Callable, Variants &&... Args)
Definition TVariant.h:271
TextureAddress
Definition TextureDefines.h:496
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition MaterialShared.h:806
Definition MaterialCompiler.h:109
Definition MaterialShared.h:1943
Definition MaterialShared.h:1980
Definition MaterialShared.h:2058
Definition NameTypes.h:617
Definition ShaderKeyGenerator.h:29
Definition SharedBuffer.h:341
Definition UnrealString.h.inl:34
Definition RefCounting.h:454
Definition StaticArray.h:26
Definition UniquePtr.h:107
Definition MaterialExpressionCustomOutput.h:15
Definition MaterialExpressionCustom.h:64
Definition MaterialExpression.h:150
Definition MaterialParameterCollection.h:79
Definition RuntimeVirtualTexture.h:18
Definition SparseVolumeTexture.h:309
Definition TextureCollection.h:47
Definition Texture.h:1219
@ Sine
Definition LFO.h:14
@ Noise
Definition Osc.h:245
ECollisionShapeType GetType(const Chaos::FImplicitObject &InGeometry)
Definition ChaosInterfaceWrapperCore.h:105
GeometryCollection::Facades::FMuscleActivationData Data
Definition MuscleActivationConstraints.h:15
@ SquareRoot
Definition EnvQueryTypes.h:95
Type
Definition SceneTypes.h:132
@ VertexColor
Definition MeshPaintVisualize.h:37
@ MaterialCache
Definition PrimitiveSceneInfo.h:248
Type
Definition PawnAction_Move.h:11
Type
Definition RHIFeatureLevel.h:20
void Initialise(bool wait_for_connect=false)
Definition SkinnedMeshComponent.h:50
bool operator==(const FCachedAssetKey &A, const FCachedAssetKey &B)
Definition AssetDataMap.h:501
Definition DerivedData.cpp:40
double AspectRatio(const FVector3d &v1, const FVector3d &v2, const FVector3d &v3)
Definition VectorUtil.h:625
T Normalize(UE::Math::TVector2< T > &Vector, const T Epsilon=0)
Definition VectorTypes.h:46
FValue Mul(const FValue &Lhs, const FValue &Rhs)
Definition ShaderValue.cpp:1514
EValueType
Definition ShaderTypes.h:94
FValue Div(const FValue &Lhs, const FValue &Rhs)
Definition ShaderValue.cpp:1519
@ ExternalTextureCoordinateOffset
@ ExternalTextureCoordinateScaleRotation
@ SparseVolumeTextureUniform
Definition VirtualTextureRecreate.cpp:16
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition MaterialCacheAttribute.h:118
Definition MaterialExternalCodeRegistry.h:113
Definition MaterialLayersFunctions.h:221
Definition MaterialParameters.h:33
Definition EngineTypes.h:732
Definition ShaderCore.h:544
Definition StaticParameterSet.h:462
Definition MaterialParameters.h:503
Definition SubstrateMaterial.h:18
Definition SubstrateMaterialShared.h:105
Definition SubstrateMaterialShared.h:16
Definition IsValidVariadicFunctionArg.h:14
Definition Optional.h:131
Definition ShaderTypes.h:368