UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialCompiler.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 MaterialCompiler.h: Material compiler interface.
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
10#include "Misc/Guid.h"
11#include "MaterialShared.h"
20
21
22namespace UE
23{
24namespace Shader
25{
26struct FValue;
27enum class EValueType : uint8;
28}
29}
30
31class Error;
34class UTexture;
40
42{
43 MFCF_ForceCast = 1<<0, // Used by caller functions as a helper
44 MFCF_ExactMatch = 1<<2, // If flag set skips the cast on an exact match, else skips on a compatible match
45 MFCF_ReplicateValue = 1<<3 // Replicates a Float1 value when up-casting, else appends zero
46};
47
50{
51 Standard,
52 Lightmass,
54};
55
56
79
86
88{
89 None = 0u,
90 AllowAttributeConnection = (1u << 0)
91};
93
103
109{
110public:
111 virtual ~FMaterialCompiler() { }
112
114 virtual bool ShouldStopTranslating() const = 0;
115
116 // sets internal state CurrentShaderFrequency
117 // @param OverrideShaderFrequency SF_NumFrequencies to not override
119
121 virtual void PushMaterialAttribute(const FGuid& InAttributeID) = 0;
125 virtual const FGuid GetMaterialAttribute() = 0;
128
130
135
136 // gets value stored by SetMaterialProperty()
138 //
139 virtual int32 Error(const TCHAR* Text) = 0;
140 ENGINE_API int32 Errorf(const TCHAR* Format,...);
141 virtual void AppendExpressionError(UMaterialExpression* Expression, const TCHAR* Text) = 0;
142
144
146
150
157 inline ESubstrateMaterialExport GetSubstrateMaterialExportType() const { return SubstrateMaterialExport; }
158 inline ESubstrateMaterialExportContext GetSubstrateMaterialExportContext() const { return SubstrateMaterialExportContext; }
159 inline uint8 GetSubstrateMaterialExportLegacyBlendMode() const { return SubstrateMaterialExportLegacyBlendMode; }
160
161 inline bool IsVertexInterpolatorBypass() const
162 {
165 }
166
168
170
172
174
175 virtual const ITargetPlatform* GetTargetPlatform() const = 0;
176
177 virtual bool IsTangentSpaceNormal() const = 0;
178
180
186
188
190
193
195
202
205
206 virtual int32 TruncateLWC(int32 Code) = 0;
207
210
213
215
218
219 virtual int32 NumericParameter(EMaterialParameterType ParameterType, FName ParameterName, const UE::Shader::FValue& DefaultValue) = 0;
220
221 ENGINE_API int32 ScalarParameter(FName ParameterName, float DefaultValue);
222 ENGINE_API int32 VectorParameter(FName ParameterName, const FLinearColor& DefaultValue);
223
224 virtual int32 Constant(float X) = 0;
225 virtual int32 Constant2(float X,float Y) = 0;
226 virtual int32 Constant3(float X,float Y,float Z) = 0;
227 virtual int32 Constant4(float X,float Y,float Z,float W) = 0;
229
231 virtual int32 IsOrthographic() = 0;
232
233 virtual int32 GameTime(bool bPeriodic, float Period) = 0;
234 virtual int32 RealTime(bool bPeriodic, float Period) = 0;
235 virtual int32 DeltaTime() = 0;
237
238 virtual int32 Sine(int32 X) = 0;
239 virtual int32 Cosine(int32 X) = 0;
240 virtual int32 Tangent(int32 X) = 0;
241 virtual int32 Arcsine(int32 X) = 0;
242 virtual int32 ArcsineFast(int32 X) = 0;
243 virtual int32 Arccosine(int32 X) = 0;
245 virtual int32 Arctangent(int32 X) = 0;
249
250 virtual int32 Floor(int32 X) = 0;
251 virtual int32 Ceil(int32 X) = 0;
252 virtual int32 Round(int32 X) = 0;
253 virtual int32 Truncate(int32 X) = 0;
254 virtual int32 Sign(int32 X) = 0;
255 virtual int32 Frac(int32 X) = 0;
256 virtual int32 Fmod(int32 A, int32 B) = 0;
257 virtual int32 Modulo(int32 A, int32 B) = 0;
258 virtual int32 Abs(int32 X) = 0;
259
260 virtual int32 ReflectionVector() = 0;
261 virtual int32 ReflectionAboutCustomWorldNormal(int32 CustomWorldNormal, int32 bNormalizeCustomWorldNormal) = 0;
262 virtual int32 CameraVector() = 0;
263 virtual int32 LightVector() = 0;
264
265 virtual int32 GetViewportUV() = 0;
266 virtual int32 GetPixelPosition() = 0;
267 virtual int32 LocalPosition(EPositionIncludedOffsets IncludedOffsets, ELocalPositionOrigin OriginType) = 0;
270 virtual int32 ObjectRadius() = 0;
271 virtual int32 ObjectBounds() = 0;
272 virtual int32 ObjectLocalBounds(int32 OutputIndex) = 0;
273 virtual int32 InstanceLocalBounds(int32 OutputIndex) = 0;
274 virtual int32 PreSkinnedLocalBounds(int32 OutputIndex) = 0;
275 virtual int32 DistanceCullFade() = 0;
276 virtual int32 ActorWorldPosition(EPositionOrigin OriginType) = 0;
277 virtual int32 ParticleMacroUV() = 0;
278 virtual int32 ParticleSubUV(int32 TextureIndex, EMaterialSamplerType SamplerType, int32 MipValue0Index, int32 MipValue1Index, ETextureMipValueMode MipValueMode, bool bBlend) = 0;
279 virtual int32 ParticleSubUVProperty(int32 PropertyIndex) = 0;
280 virtual int32 ParticleColor() = 0;
281 virtual int32 ParticlePosition(EPositionOrigin OriginType) = 0;
282 virtual int32 ParticleRadius() = 0;
286 virtual int32 ParticleRandom() = 0;
288 virtual int32 ParticleSpeed() = 0;
289 virtual int32 ParticleSize() = 0;
291
292 virtual int32 DynamicBranch(int32 Condition, int32 A, int32 B) = 0;
293 virtual int32 If(int32 A,int32 B,int32 AGreaterThanB,int32 AEqualsB,int32 ALessThanB,int32 Threshold) = 0;
295
296 virtual int32 TextureCoordinate(uint32 CoordinateIndex, bool UnMirrorU, bool UnMirrorV) = 0;
298 virtual int32 TextureSample(int32 Texture,int32 Coordinate,enum EMaterialSamplerType SamplerType,int32 MipValue0Index=INDEX_NONE,int32 MipValue1Index=INDEX_NONE,ETextureMipValueMode MipValueMode=TMVM_None,ESamplerSourceMode SamplerSource=SSM_FromTextureAsset,ETextureGatherMode GatherMode=TGM_None,int32 TextureReferenceIndex=INDEX_NONE, bool AutomaticViewMipBias=false, bool AdaptiveVirtualTexture=false, bool EnableFeedback = true) = 0;
300
303 virtual int32 DecalColor() = 0;
305
307 virtual int32 TextureParameter(FName ParameterName,UTexture* DefaultTexture,int32& TextureReferenceIndex, EMaterialSamplerType SamplerType, ESamplerSourceMode SamplerSource=SSM_FromTextureAsset) = 0;
308
313
314 virtual int32 TextureStreamingInfo(int32 TextureReferenceIndex, int32 TextureIndex, int32 CoordinateIndex) = 0;
315
319 virtual int32 SetMaterialCacheAttribute(const FMaterialCacheTagLayout& Layout, int32 AttributeSet, int32 AttributeIndex, int32 Value) = 0;
320 virtual int32 GetMaterialCacheAttribute(const FMaterialCacheTagLayout& Layout, int32 AttributeSet, int32 AttributeIndex) = 0;
322
323 virtual int32 VirtualTexture(URuntimeVirtualTexture* InTexture, int32 TextureLayerIndex, int32 PageTableLayerIndex, int32& TextureReferenceIndex, EMaterialSamplerType SamplerType) = 0;
324 virtual int32 VirtualTextureParameter(FName ParameterName, URuntimeVirtualTexture* DefaultValue, int32 TextureLayerIndex, int32 PageTableLayerIndex, int32& TextureReferenceIndex, EMaterialSamplerType SamplerType) = 0;
325 virtual int32 VirtualTextureUniform(int32 TextureIndex, int32 VectorIndex, UE::Shader::EValueType Type) = 0;
326 virtual int32 VirtualTextureUniform(FName ParameterName, int32 TextureIndex, int32 VectorIndex, UE::Shader::EValueType Type) = 0;
330
331 virtual int32 ExternalTexture(const FGuid& ExternalTextureGuid) = 0;
333 virtual int32 ExternalTextureParameter(FName ParameterName, UTexture* DefaultValue, int32& TextureReferenceIndex) = 0;
335 virtual int32 ExternalTextureCoordinateScaleRotation(const FGuid& ExternalTextureGuid) = 0;
337 virtual int32 ExternalTextureCoordinateOffset(const FGuid& ExternalTextureGuid) = 0;
338
339 // Could be called sub texture and used to support multiple texture samples from a single node?
340 // Making it clear for now and setting explicitly a USparseVolumeTexture as object.
341
366 virtual int32 SparseVolumeTextureUniform(int32 TextureIndex, int32 VectorIndex, UE::Shader::EValueType Type) = 0;
375 virtual int32 SparseVolumeTextureUniformParameter(FName ParameterName, int32 TextureIndex, int32 VectorIndex, UE::Shader::EValueType Type) = 0;
395
397
399 {
400 return nullptr;
401 }
402
404 {
405 return nullptr;
406 }
407
413
419
420 int32 VirtualTexture(URuntimeVirtualTexture* InTexture, int32 TextureLayerIndex, int32 PageTableLayerIndex, EMaterialSamplerType SamplerType)
421 {
423 return VirtualTexture(InTexture, TextureLayerIndex, PageTableLayerIndex, TextureReferenceIndex, SamplerType);
424 }
425
426 int32 VirtualTextureParameter(FName ParameterName, URuntimeVirtualTexture* DefaultValue, int32 TextureLayerIndex, int32 PageTableLayerIndex, EMaterialSamplerType SamplerType)
427 {
429 return VirtualTextureParameter(ParameterName, DefaultValue, TextureLayerIndex, PageTableLayerIndex, TextureReferenceIndex, SamplerType);
430 }
431
433 {
435 return ExternalTexture(DefaultTexture, TextureReferenceIndex);
436 }
437
438 int32 TextureParameter(FName ParameterName,UTexture* DefaultTexture, EMaterialSamplerType SamplerType, ESamplerSourceMode SamplerSource=SSM_FromTextureAsset)
439 {
441 return TextureParameter(ParameterName, DefaultTexture, TextureReferenceIndex, SamplerType, SamplerSource);
442 }
443
444 int32 ExternalTextureParameter(FName ParameterName, UTexture* DefaultTexture)
445 {
447 return ExternalTextureParameter(ParameterName, DefaultTexture, TextureReferenceIndex);
448 }
449
455
461
462 virtual int32 PixelDepth()=0;
463 virtual int32 SceneDepth(int32 Offset, int32 ViewportUV, bool bUseOffset) = 0;
464 virtual int32 SceneColor(int32 Offset, int32 ViewportUV, bool bUseOffset) = 0;
465 // @param SceneTextureId of type ESceneTextureId e.g. PPI_SubsurfaceColor
466 virtual int32 SceneTextureLookup(int32 ViewportUV, uint32 SceneTextureId, bool bFiltered, bool bClamped, bool bUnused) = 0;
467 virtual int32 GetSceneTextureViewSize(int32 SceneTextureId, bool InvProperty) = 0;
471
472 virtual int32 StaticBool(bool Value) = 0;
473 virtual int32 StaticBoolParameter(FName ParameterName,bool bDefaultValue) = 0;
474 virtual int32 DynamicBoolParameter(FName ParameterName,bool bDefaultValue) = 0;
475 virtual int32 StaticComponentMask(int32 Vector,FName ParameterName,bool bDefaultR,bool bDefaultG,bool bDefaultB,bool bDefaultA) = 0;
477
478 virtual bool GetStaticBoolValue(int32 BoolIndex, bool& bSucceeded) = 0;
479 virtual int32 StaticTerrainLayerWeight(FName ParameterName,int32 Default, bool bTextureArray = false) = 0;
480
482 // Feedback the instanced material layers data after the UMaterialExpressionMaterialAttributeLayers is assembled
483 virtual void FeedbackMaterialLayersInstancedGraphFromCompilation(const FMaterialLayersFunctions* InLayers) {} // TODO: SHould be pure virtual
484
487
488 virtual int32 VertexColor() = 0;
492
494 virtual int32 PreSkinnedNormal() = 0;
495
496 virtual int32 VertexInterpolator(uint32 InterpolatorIndex) = 0;
497
498#if WITH_EDITOR
500#endif
501
502 virtual int32 Add(int32 A,int32 B) = 0;
503 virtual int32 Sub(int32 A,int32 B) = 0;
504 virtual int32 Mul(int32 A,int32 B) = 0;
505 virtual int32 Div(int32 A,int32 B) = 0;
506 virtual int32 Dot(int32 A,int32 B) = 0;
507 virtual int32 Cross(int32 A,int32 B) = 0;
508
509 virtual int32 Power(int32 Base,int32 Exponent) = 0;
510 virtual int32 Exponential(int32 X) = 0;
511 virtual int32 Exponential2(int32 X) = 0;
512 virtual int32 Logarithm(int32 X) = 0;
513 virtual int32 Logarithm2(int32 X) = 0;
514 virtual int32 Logarithm10(int32 X) = 0;
515 virtual int32 SquareRoot(int32 X) = 0;
516 virtual int32 Length(int32 X) = 0;
517 virtual int32 Normalize(int32 X) = 0;
518 virtual int32 HsvToRgb(int32 X) = 0;
519 virtual int32 RgbToHsv(int32 X) = 0;
520
521 virtual int32 Lerp(int32 X,int32 Y,int32 A) = 0;
522 virtual int32 Min(int32 A,int32 B) = 0;
523 virtual int32 Max(int32 A,int32 B) = 0;
524 virtual int32 Clamp(int32 X,int32 A,int32 B) = 0;
525 virtual int32 Saturate(int32 X) = 0;
526
528 virtual int32 Step(int32 Y,int32 X) = 0;
530
531 virtual int32 ComponentMask(int32 Vector,bool R,bool G,bool B,bool A) = 0;
545 UE_DEPRECATED(5.6, "Use TransformPosition(EMaterialCommonBasis, EMaterialCommonBasis, FTransformParameters, int32) instead")
552 UE_DEPRECATED(5.6, "Use TransformPosition(EMaterialCommonBasis, EMaterialCommonBasis, FTransformParameters, int32) instead")
560
561 virtual int32 DynamicParameter(FLinearColor& DefaultValue, uint32 ParameterIndex = 0) = 0;
562 virtual int32 LightmapUVs() = 0;
564
565 virtual int32 GIReplace(int32 Direct, int32 StaticIndirect, int32 DynamicIndirect) = 0;
571 virtual int32 PathTracingRayTypeSwitch(int32 Main, int32 Shadow, int32 IndirectDiffuse, int32 IndirectSpecular, int32 IndirectVolume) = 0;
574
577 virtual int32 TwoSidedSign() = 0;
578 virtual int32 VertexNormal() = 0;
579 virtual int32 VertexTangent() = 0;
580 virtual int32 PixelNormalWS() = 0;
581 virtual int32 IsFirstPerson() = 0;
582
585
588 virtual bool IsInRuntimeVirtualTextureOutput() const = 0;
589
590 virtual int32 DDX(int32 X) = 0;
591 virtual int32 DDY(int32 X) = 0;
592
597 virtual int32 AntialiasedTextureMask(int32 Tex, int32 UV, float Threshold, uint8 Channel) = 0;
598
601 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) = 0;
602 virtual int32 VectorNoise(int32 Position, EPositionOrigin PositionOrigin, int32 Quality, uint8 NoiseFunction, bool bTiling, uint32 RepeatSize) = 0;
603 virtual int32 ScalarBlueNoise() = 0;
604
605 virtual int32 BlackBody( int32 Temp ) = 0;
609 virtual int32 SamplePhysicsField(int32 PositionArg, EPositionOrigin PositionOrigin, const int32 OutputType, const int32 TargetIndex) = 0;
614 virtual int32 SpeedTree(int32 GeometryArg, int32 WindArg, int32 LODArg, float BillboardThreshold, bool bAccurateWindVelocities, bool bExtraBend, int32 ExtraBendArg) = 0;
615 virtual int32 EyeAdaptation() = 0;
619
622 virtual int32 SkyAtmosphereLightDirection(int32 LightIndex) = 0;
628
634
637
638 virtual int32 GetHairUV() = 0;
640 virtual int32 GetHairSeed() = 0;
641 virtual int32 GetHairClumpID() = 0;
642 virtual int32 GetHairTangent(bool bUseTangentSpace) = 0;
643 virtual int32 GetHairRootUV() = 0;
644 virtual int32 GetHairBaseColor() = 0;
645 virtual int32 GetHairRoughness() = 0;
646 virtual int32 GetHairAO() = 0;
647 virtual int32 GetHairDepth() = 0;
648 virtual int32 GetHairCoverage() = 0;
650 virtual int32 GetHairAtlasUVs() = 0;
652 virtual int32 GetHairColorFromMelanin(int32 Melanin, int32 Redness, int32 DyeColor) = 0;
653 virtual int32 CustomPrimitiveData(int32 OutputIndex, EMaterialValueType Type) = 0;
655
656 // Material attributes
659
660 // Exec
661 virtual int32 BeginScope() = 0;
662 virtual int32 BeginScope_If(int32 Condition) = 0;
663 virtual int32 BeginScope_Else() = 0;
664 virtual int32 BeginScope_For(const UMaterialExpression* Expression, int32 StartIndex, int32 EndIndex, int32 IndexStep) = 0;
665 virtual int32 EndScope() = 0;
666 virtual int32 ForLoopIndex(const UMaterialExpression* Expression) = 0;
668 virtual int32 SetLocal(const FName& LocalName, int32 Value) = 0;
669 virtual int32 GetLocal(const FName& LocalName) = 0;
670
671 // Neural network nodes
672 virtual int32 NeuralOutput(int32 ViewportUV, uint32 NeuralIndexType) = 0;
673
674 // Substrate
677 int32 DiffuseAlbedo, int32 F0, int32 F90,
680 int32 EmissiveColor,
681 int32 SecondRoughness, int32 SecondRoughnessWeight, int32 SecondRoughnessAsSimpleClearCoat, int32 ClearCoatBottomNormal,
682 int32 FuzzAmount, int32 FuzzColor, int32 FuzzRoughness,
683 int32 Thickness,
684 int32 GlintValue, int32 GlintUV,
693 int32 SubSurfaceColor, int32 SubSurfaceProfileId,
694 int32 ClearCoat, int32 ClearCoatRoughness,
695 int32 EmissiveColor,
698 int32 ThinTranslucentSurfaceCoverage,
699 int32 WaterScatteringCoefficients, int32 WaterAbsorptionCoefficients, int32 WaterPhaseG, int32 ColorScaleBehindWater,
706 virtual int32 SubstrateUnlitBSDF(int32 EmissiveColor, int32 TransmittanceColor, int32 Normal, FSubstrateOperator* PromoteToOperator) = 0;
709 virtual int32 SubstrateEyeBSDF(int32 DiffuseAlbedo, int32 Roughness, int32 IrisMask, int32 IrisDistance, int32 IrisNormal, int32 IrisPlaneNormal, int32 SSSProfileId, int32 EmissiveColor, int32 CorneaNormal, const FString& SharedLocalBasisIndexMacro, FSubstrateOperator* PromoteToOperator) = 0;
711 int32 BaseColor, int32 Metallic, int32 Specular, int32 Roughness, int32 EmissiveColor, int32 TopMaterialOpacity,
712 int32 WaterAlbedo, int32 WaterExtinction, int32 WaterPhaseG, int32 ColorScaleBehindWater, int32 Normal, const FString& SharedLocalBasisIndexMacro, FSubstrateOperator* PromoteToOperator) = 0;
722 virtual int32 SubstrateTransmittanceToMFP(int32 TransmittanceColor, int32 DesiredThickness, int32 OutputIndex) = 0;
724 virtual int32 SubstrateHazinessToSecondaryRoughness(int32 BaseRoughness, int32 Haziness, int32 OutputIndex) = 0;
727
732
736 virtual FGuid SubstrateTreeStackPush(UMaterialExpression* Expression, uint32 InputIndex) = 0;
749 virtual void SubstrateTreeStackPop() = 0;
755
760 virtual void SubstrateThicknessStackPop() = 0;
761
774
781
782 // Water
783 virtual int32 SceneDepthWithoutWater(int32 Offset, int32 ViewportUV, bool bUseOffset, float FallbackDepth) = 0;
784
786 // The compiler can run in a different state and this affects caching of sub expression, Expressions are different (e.g. ResolvedView.PrevWorldViewOrigin) when using previous frame's values
787 // If possible we should re-factor this to avoid having to deal with compiler state
788 virtual bool IsCurrentlyCompilingForPreviousFrame() const { return false; }
789 virtual bool IsDevelopmentFeatureEnabled(const FName& FeatureName) const { return true; }
790
791 // Validation mode to allow different handling of material expressions during translation.
792 void EnableValidationMode(bool bEnable) { bIsValidating = bEnable; }
793 bool IsValidating() const { return bIsValidating; }
794
795protected:
797 {
798#if WITH_EDITOR
799 return FString::Printf(TEXT("SHAREDLOCALBASIS_INDEX_%u_%u"), SharedLocalBasis.GraphSharedLocalBasisIndex, Mode);
800#else
801 return TEXT("");
802#endif
803 }
804
805
806private:
807 ESubstrateMaterialExport SubstrateMaterialExport = SME_None;
808 ESubstrateMaterialExportContext SubstrateMaterialExportContext = SMEC_Opaque;
809 uint8 SubstrateMaterialExportLegacyBlendMode = 0;
810 bool bIsValidating = false;
811};
812
818{
819public:
820
821 // Constructor.
825
826 // Simple pass through all other material operations unmodified.
827
828 virtual bool ShouldStopTranslating() const override { return false; }
837 virtual FGuid PopMaterialAttribute() override { return Compiler->PopMaterialAttribute(); }
838 virtual const FGuid GetMaterialAttribute() override { return Compiler->GetMaterialAttribute(); }
840
842
843 virtual bool IsTangentSpaceNormal() const override { return Compiler->IsTangentSpaceNormal(); }
844
847
849 virtual int32 Error(const TCHAR* Text) override { return Compiler->Error(Text); }
850 virtual void AppendExpressionError(UMaterialExpression* Expression, const TCHAR* Text) override { return Compiler->AppendExpressionError(Expression, Text); }
851
853
854 virtual int32 CallExpressionExec(UMaterialExpression* Expression) { return Compiler->CallExpressionExec(Expression); }
855
859
860 virtual EMaterialValueType GetType(int32 Code) override { return Compiler->GetType(Code); }
864 virtual const ITargetPlatform* GetTargetPlatform() const override { return Compiler->GetTargetPlatform(); }
866 virtual int32 ValidCast(int32 Code, EMaterialValueType DestType) override { return Compiler->ValidCast(Code, DestType); }
868 virtual int32 CastShadingModelToFloat(int32 Code) override { return Compiler->CastShadingModelToFloat(Code); }
869 virtual int32 TruncateLWC(int32 Code) override { return Compiler->TruncateLWC(Code); }
870
871 virtual int32 AccessCollectionParameter(UMaterialParameterCollection* ParameterCollection, int32 ParameterIndex, int32 ComponentIndex) override { return Compiler->AccessCollectionParameter(ParameterCollection, ParameterIndex, ComponentIndex); }
873
874 virtual int32 NumericParameter(EMaterialParameterType ParameterType, FName ParameterName, const UE::Shader::FValue& DefaultValue) override { return Compiler->NumericParameter(ParameterType, ParameterName, DefaultValue); }
875
876 virtual int32 Constant(float X) override { return Compiler->Constant(X); }
877 virtual int32 Constant2(float X, float Y) override { return Compiler->Constant2(X, Y); }
878 virtual int32 Constant3(float X, float Y, float Z) override { return Compiler->Constant3(X, Y, Z); }
879 virtual int32 Constant4(float X, float Y, float Z, float W) override { return Compiler->Constant4(X, Y, Z, W); }
881
883 virtual int32 IsOrthographic() override { return Compiler->IsOrthographic(); }
884
885 virtual int32 GameTime(bool bPeriodic, float Period) override { return Compiler->GameTime(bPeriodic, Period); }
886 virtual int32 RealTime(bool bPeriodic, float Period) override { return Compiler->RealTime(bPeriodic, Period); }
887 virtual int32 DeltaTime() override { return Compiler->DeltaTime(); }
888
890
891 virtual int32 Sine(int32 X) override { return Compiler->Sine(X); }
892 virtual int32 Cosine(int32 X) override { return Compiler->Cosine(X); }
893 virtual int32 Tangent(int32 X) override { return Compiler->Tangent(X); }
894 virtual int32 Arcsine(int32 X) override { return Compiler->Arcsine(X); }
895 virtual int32 ArcsineFast(int32 X) override { return Compiler->ArcsineFast(X); }
896 virtual int32 Arccosine(int32 X) override { return Compiler->Arccosine(X); }
897 virtual int32 ArccosineFast(int32 X) override { return Compiler->ArccosineFast(X); }
898 virtual int32 Arctangent(int32 X) override { return Compiler->Arctangent(X); }
899 virtual int32 ArctangentFast(int32 X) override { return Compiler->ArctangentFast(X); }
900 virtual int32 Arctangent2(int32 Y, int32 X) override { return Compiler->Arctangent2(Y, X); }
901 virtual int32 Arctangent2Fast(int32 Y, int32 X) override { return Compiler->Arctangent2Fast(Y, X); }
902
903 virtual int32 Floor(int32 X) override { return Compiler->Floor(X); }
904 virtual int32 Ceil(int32 X) override { return Compiler->Ceil(X); }
905 virtual int32 Round(int32 X) override { return Compiler->Round(X); }
906 virtual int32 Truncate(int32 X) override { return Compiler->Truncate(X); }
907 virtual int32 Sign(int32 X) override { return Compiler->Sign(X); }
908 virtual int32 Frac(int32 X) override { return Compiler->Frac(X); }
909 virtual int32 Fmod(int32 A, int32 B) override { return Compiler->Fmod(A, B); }
910 virtual int32 Modulo(int32 A, int32 B) override { return Compiler->Modulo(A, B); }
911 virtual int32 Abs(int32 X) override { return Compiler->Abs(X); }
912
913 virtual int32 ReflectionVector() override { return Compiler->ReflectionVector(); }
914 virtual int32 CameraVector() override { return Compiler->CameraVector(); }
915 virtual int32 LightVector() override { return Compiler->LightVector(); }
916
917 virtual int32 GetViewportUV() override { return Compiler->GetViewportUV(); }
918 virtual int32 GetPixelPosition() override { return Compiler->GetPixelPosition(); }
919 virtual int32 LocalPosition(EPositionIncludedOffsets IncludedOffsets, ELocalPositionOrigin OriginType) { return Compiler->LocalPosition(IncludedOffsets, OriginType); }
921 virtual int32 ObjectWorldPosition(EPositionOrigin OriginType) override { return Compiler->ObjectWorldPosition(OriginType); }
922 virtual int32 ObjectRadius() override { return Compiler->ObjectRadius(); }
923 virtual int32 ObjectBounds() override { return Compiler->ObjectBounds(); }
924 virtual int32 ObjectLocalBounds(int32 OutputIndex) override { return Compiler->ObjectLocalBounds(OutputIndex); }
925 virtual int32 InstanceLocalBounds(int32 OutputIndex) override { return Compiler->InstanceLocalBounds(OutputIndex); }
926 virtual int32 PreSkinnedLocalBounds(int32 OutputIndex) override { return Compiler->PreSkinnedLocalBounds(OutputIndex); }
927 virtual int32 DistanceCullFade() override { return Compiler->DistanceCullFade(); }
928 virtual int32 ActorWorldPosition(EPositionOrigin OriginType) override { return Compiler->ActorWorldPosition(OriginType); }
929 virtual int32 ParticleMacroUV() override { return Compiler->ParticleMacroUV(); }
930 virtual int32 ParticleSubUV(int32 TextureIndex, EMaterialSamplerType SamplerType, int32 MipValue0Index, int32 MipValue1Index, ETextureMipValueMode MipValueMode, bool bBlend) override
931 {
932 return Compiler->ParticleSubUV(TextureIndex, SamplerType, MipValue0Index, MipValue1Index, MipValueMode, bBlend);
933 }
934 virtual int32 ParticleSubUVProperty(int32 PropertyIndex) override { return Compiler->ParticleSubUVProperty(PropertyIndex); }
935 virtual int32 ParticleColor() override { return Compiler->ParticleColor(); }
936 virtual int32 ParticlePosition(EPositionOrigin OriginType) override { return Compiler->ParticlePosition(OriginType); }
937 virtual int32 ParticleRadius() override { return Compiler->ParticleRadius(); }
939
940 virtual int32 DynamicBranch(int32 Condition, int32 A, int32 B) override { return Compiler->DynamicBranch(Condition, A, B); };
941 virtual int32 If(int32 A, int32 B, int32 AGreaterThanB, int32 AEqualsB, int32 ALessThanB, int32 Threshold) override { return Compiler->If(A, B, AGreaterThanB, AEqualsB, ALessThanB, Threshold); }
943
944 virtual int32 TextureSample(int32 InTexture, int32 Coordinate, enum EMaterialSamplerType SamplerType, int32 MipValue0Index, int32 MipValue1Index, ETextureMipValueMode MipValueMode, ESamplerSourceMode SamplerSource, ETextureGatherMode GatherMode, int32 TextureReferenceIndex, bool AutomaticViewMipBias, bool AdaptiveVirtualTexture, bool EnableFeedback) override
945 {
946 return Compiler->TextureSample(InTexture, Coordinate, SamplerType, MipValue0Index, MipValue1Index, MipValueMode, SamplerSource, GatherMode, TextureReferenceIndex, AutomaticViewMipBias, AdaptiveVirtualTexture);
947 }
952
953 virtual int32 TextureCoordinate(uint32 CoordinateIndex, bool UnMirrorU, bool UnMirrorV) override { return Compiler->TextureCoordinate(CoordinateIndex, UnMirrorU, UnMirrorV); }
955
958 virtual int32 DecalColor() override { return Compiler->DecalColor(); }
959 virtual int32 DecalLifetimeOpacity() override { return Compiler->DecalLifetimeOpacity(); }
960
961 virtual int32 Texture(UTexture* InTexture, int32& TextureReferenceIndex, EMaterialSamplerType SamplerType, ESamplerSourceMode SamplerSource = SSM_FromTextureAsset, ETextureMipValueMode MipValueMode = TMVM_None) override { return Compiler->Texture(InTexture, TextureReferenceIndex, SamplerType, SamplerSource, MipValueMode); }
962 virtual int32 TextureParameter(FName ParameterName, UTexture* DefaultValue, int32& TextureReferenceIndex, EMaterialSamplerType SamplerType, ESamplerSourceMode SamplerSource = SSM_FromTextureAsset) override { return Compiler->TextureParameter(ParameterName, DefaultValue, TextureReferenceIndex, SamplerType, SamplerSource); }
963
969 {
970 return Compiler->TextureCollectionParameter(ParameterName, DefaultValue, TextureCollectionReferenceIndex);
971 }
980
981 virtual int32 TextureStreamingInfo(int32 TextureReferenceIndex, int32 TextureIndex, int32 CoordinateIndex) override
982 {
983 return Compiler->TextureStreamingInfo(TextureReferenceIndex, TextureIndex, CoordinateIndex);
984 }
985
990
992 {
993 return Compiler->SampleMaterialCache(Layout, PrimitiveIDIndex, TexCoordIndex);
994 }
995
1000
1001 virtual int32 SetMaterialCacheAttribute(const FMaterialCacheTagLayout& Layout, int32 AttributeSet, int32 AttributeIndex, int32 Value) override
1002 {
1003 return Compiler->SetMaterialCacheAttribute(Layout, AttributeSet, AttributeIndex, Value);
1004 }
1005
1006 virtual int32 GetMaterialCacheAttribute(const FMaterialCacheTagLayout& Layout, int32 AttributeSet, int32 AttributeIndex) override
1007 {
1008 return Compiler->GetMaterialCacheAttribute(Layout, AttributeSet, AttributeIndex);
1009 }
1010
1015
1016 virtual int32 VirtualTexture(URuntimeVirtualTexture* InTexture, int32 TextureLayerIndex, int32 PageTableLayerIndex, int32& TextureReferenceIndex, EMaterialSamplerType SamplerType) override
1017 {
1018 return Compiler->VirtualTexture(InTexture, TextureLayerIndex, PageTableLayerIndex, TextureReferenceIndex, SamplerType);
1019 }
1020 virtual int32 VirtualTextureParameter(FName ParameterName, URuntimeVirtualTexture* DefaultValue, int32 TextureLayerIndex, int32 PageTableLayerIndex, int32& TextureReferenceIndex, EMaterialSamplerType SamplerType) override
1021 {
1022 return Compiler->VirtualTextureParameter(ParameterName, DefaultValue, TextureLayerIndex, PageTableLayerIndex, TextureReferenceIndex, SamplerType);
1023 }
1024 virtual int32 VirtualTextureUniform(int32 TextureIndex, int32 VectorIndex, UE::Shader::EValueType Type) override { return Compiler->VirtualTextureUniform(TextureIndex, VectorIndex, Type); }
1025 virtual int32 VirtualTextureUniform(FName ParameterName, int32 TextureIndex, int32 VectorIndex, UE::Shader::EValueType Type) override { return Compiler->VirtualTextureUniform(ParameterName, TextureIndex, VectorIndex, Type); }
1029
1030 virtual int32 ExternalTexture(const FGuid& ExternalTextureGuid) override { return Compiler->ExternalTexture(ExternalTextureGuid); }
1032 virtual int32 ExternalTextureParameter(FName ParameterName, UTexture* DefaultValue, int32& TextureReferenceIndex) override { return Compiler->ExternalTextureParameter(ParameterName, DefaultValue, TextureReferenceIndex); }
1034 virtual int32 ExternalTextureCoordinateScaleRotation(const FGuid& ExternalTextureGuid) override { return Compiler->ExternalTextureCoordinateScaleRotation(ExternalTextureGuid); }
1036 virtual int32 ExternalTextureCoordinateOffset(const FGuid& ExternalTextureGuid) override { return Compiler->ExternalTextureCoordinateOffset(ExternalTextureGuid); }
1037
1040 virtual int32 SparseVolumeTextureUniform(int32 TextureIndex, int32 VectorIndex, UE::Shader::EValueType Type) override { return Compiler->SparseVolumeTextureUniform(TextureIndex, VectorIndex, Type); }
1041 virtual int32 SparseVolumeTextureUniformParameter(FName ParameterName, int32 TextureIndex, int32 VectorIndex, UE::Shader::EValueType Type) override { return Compiler->SparseVolumeTextureUniformParameter(ParameterName, TextureIndex, VectorIndex, Type); }
1045
1047 {
1049 }
1050
1055
1056 virtual int32 PixelDepth() override { return Compiler->PixelDepth(); }
1057 virtual int32 SceneDepth(int32 Offset, int32 ViewportUV, bool bUseOffset) override { return Compiler->SceneDepth(Offset, ViewportUV, bUseOffset); }
1058 virtual int32 SceneColor(int32 Offset, int32 ViewportUV, bool bUseOffset) override { return Compiler->SceneColor(Offset, ViewportUV, bUseOffset); }
1059 virtual int32 SceneTextureLookup(int32 ViewportUV, uint32 InSceneTextureId, bool bFiltered, bool bClamped, bool bUnused) override { return Compiler->SceneTextureLookup(ViewportUV, InSceneTextureId, bFiltered, bClamped, bUnused); }
1060 virtual int32 GetSceneTextureViewSize(int32 SceneTextureId, bool InvProperty) override { return Compiler->GetSceneTextureViewSize(SceneTextureId, InvProperty); }
1064
1065 virtual int32 StaticBool(bool Value) override { return Compiler->StaticBool(Value); }
1066 virtual int32 StaticBoolParameter(FName ParameterName, bool bDefaultValue) override { return Compiler->StaticBoolParameter(ParameterName, bDefaultValue); }
1067 virtual int32 DynamicBoolParameter(FName ParameterName, bool bDefaultValue) override { return Compiler->DynamicBoolParameter(ParameterName, bDefaultValue); }
1068 virtual int32 StaticComponentMask(int32 Vector, FName ParameterName, bool bDefaultR, bool bDefaultG, bool bDefaultB, bool bDefaultA) override { return Compiler->StaticComponentMask(Vector, ParameterName, bDefaultR, bDefaultG, bDefaultB, bDefaultA); }
1070 virtual bool GetStaticBoolValue(int32 BoolIndex, bool& bSucceeded) override { return Compiler->GetStaticBoolValue(BoolIndex, bSucceeded); }
1071 virtual int32 StaticTerrainLayerWeight(FName ParameterName, int32 Default, bool bTextureArray = false) override { return Compiler->StaticTerrainLayerWeight(ParameterName, Default, bTextureArray); }
1072
1074
1076
1077 virtual int32 VertexColor() override { return Compiler->VertexColor(); }
1081
1082 virtual int32 PreSkinnedPosition() override { return Compiler->PreSkinnedPosition(); }
1083 virtual int32 PreSkinnedNormal() override { return Compiler->PreSkinnedNormal(); }
1084
1085 virtual int32 Add(int32 A, int32 B) override { return Compiler->Add(A, B); }
1086 virtual int32 Sub(int32 A, int32 B) override { return Compiler->Sub(A, B); }
1087 virtual int32 Mul(int32 A, int32 B) override { return Compiler->Mul(A, B); }
1088 virtual int32 Div(int32 A, int32 B) override { return Compiler->Div(A, B); }
1089 virtual int32 Dot(int32 A, int32 B) override { return Compiler->Dot(A, B); }
1090 virtual int32 Cross(int32 A, int32 B) override { return Compiler->Cross(A, B); }
1091
1092 virtual int32 Power(int32 Base, int32 Exponent) override { return Compiler->Power(Base, Exponent); }
1093 virtual int32 Exponential(int32 X) override { return Compiler->Exponential(X); }
1094 virtual int32 Exponential2(int32 X) override { return Compiler->Exponential2(X); }
1095 virtual int32 Logarithm(int32 X) override { return Compiler->Logarithm(X); }
1096 virtual int32 Logarithm2(int32 X) override { return Compiler->Logarithm2(X); }
1097 virtual int32 Logarithm10(int32 X) override { return Compiler->Logarithm10(X); }
1098 virtual int32 SquareRoot(int32 X) override { return Compiler->SquareRoot(X); }
1099 virtual int32 Length(int32 X) override { return Compiler->Length(X); }
1100 virtual int32 Normalize(int32 X) override { return Compiler->Normalize(X); }
1101 virtual int32 HsvToRgb(int32 X) override { return Compiler->HsvToRgb(X); }
1102 virtual int32 RgbToHsv(int32 X) override { return Compiler->RgbToHsv(X); }
1103
1104 virtual int32 Lerp(int32 X, int32 Y, int32 A) override { return Compiler->Lerp(X, Y, A); }
1105 virtual int32 Min(int32 A, int32 B) override { return Compiler->Min(A, B); }
1106 virtual int32 Max(int32 A, int32 B) override { return Compiler->Max(A, B); }
1107 virtual int32 Clamp(int32 X, int32 A, int32 B) override { return Compiler->Clamp(X, A, B); }
1108 virtual int32 Saturate(int32 X) override { return Compiler->Saturate(X); }
1109
1110 virtual int32 SmoothStep(int32 X, int32 Y, int32 A) override { return Compiler->SmoothStep(X, Y, A); }
1111 virtual int32 Step(int32 Y, int32 X) override { return Compiler->Step(Y, X); }
1112 virtual int32 InvLerp(int32 X, int32 Y, int32 A) override { return Compiler->InvLerp(X, Y, A); }
1113
1114 virtual int32 ComponentMask(int32 Vector, bool R, bool G, bool B, bool A) override { return Compiler->ComponentMask(Vector, R, G, B, A); }
1115 virtual int32 AppendVector(int32 A, int32 B) override { return Compiler->AppendVector(A, B); }
1125
1126 virtual int32 DynamicParameter(FLinearColor& DefaultValue, uint32 ParameterIndex = 0) override { return Compiler->DynamicParameter(DefaultValue, ParameterIndex); }
1127 virtual int32 LightmapUVs() override { return Compiler->LightmapUVs(); }
1128 virtual int32 PrecomputedAOMask() override { return Compiler->PrecomputedAOMask(); }
1129
1130 virtual int32 GIReplace(int32 Direct, int32 StaticIndirect, int32 DynamicIndirect) override { return Compiler->GIReplace(Direct, StaticIndirect, DynamicIndirect); }
1136 virtual int32 PathTracingRayTypeSwitch(int32 Main, int32 Shadow, int32 IndirectDiffuse, int32 IndirectSpecular, int32 IndirectVolume) override { return Compiler->PathTracingRayTypeSwitch(Main, Shadow, IndirectDiffuse, IndirectSpecular, IndirectVolume); }
1137 virtual int32 LightmassReplace(int32 Realtime, int32 Lightmass) override { return Compiler->LightmassReplace(Realtime, Lightmass); }
1139
1140 virtual int32 ObjectOrientation() override { return Compiler->ObjectOrientation(); }
1145 virtual int32 TwoSidedSign() override { return Compiler->TwoSidedSign(); }
1146 virtual int32 VertexNormal() override { return Compiler->VertexNormal(); }
1147 virtual int32 VertexTangent() override { return Compiler->VertexTangent(); }
1148 virtual int32 PixelNormalWS() override { return Compiler->PixelNormalWS(); }
1149 virtual int32 IsFirstPerson() override { return Compiler->IsFirstPerson(); }
1150
1153
1157
1158 virtual int32 DDX(int32 X) override { return Compiler->DDX(X); }
1159 virtual int32 DDY(int32 X) override { return Compiler->DDY(X); }
1160
1161 virtual int32 AntialiasedTextureMask(int32 Tex, int32 UV, float Threshold, uint8 Channel) override
1162 {
1163 return Compiler->AntialiasedTextureMask(Tex, UV, Threshold, Channel);
1164 }
1165
1166 virtual int32 Sobol(int32 Cell, int32 Index, int32 Seed) override { return Compiler->Sobol(Cell, Index, Seed); }
1168 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 TileSize) override
1169 {
1170 return Compiler->Noise(Position, PositionOrigin, Scale, Quality, NoiseFunction, bTurbulence, Levels, OutputMin, OutputMax, LevelScale, FilterWidth, bTiling, TileSize);
1171 }
1172 virtual int32 VectorNoise(int32 Position, EPositionOrigin PositionOrigin, int32 Quality, uint8 NoiseFunction, bool bTiling, uint32 TileSize) override
1173 {
1174 return Compiler->VectorNoise(Position, PositionOrigin, Quality, NoiseFunction, bTiling, TileSize);
1175 }
1176 virtual int32 ScalarBlueNoise() override { return Compiler->ScalarBlueNoise(); }
1177
1178 virtual int32 BlackBody(int32 Temp) override { return Compiler->BlackBody(Temp); }
1182 virtual int32 SamplePhysicsField(int32 PositionArg, EPositionOrigin PositionOrigin, const int32 OutputType, const int32 TargetIndex) override { return Compiler->SamplePhysicsField(PositionArg, PositionOrigin, OutputType, TargetIndex); }
1183 virtual int32 PerInstanceRandom() override { return Compiler->PerInstanceRandom(); }
1191
1193 virtual int32 GetHairUV() override { return Compiler->GetHairUV(); }
1194 virtual int32 GetHairDimensions() override { return Compiler->GetHairDimensions(); }
1195 virtual int32 GetHairSeed() override { return Compiler->GetHairSeed(); }
1196 virtual int32 GetHairClumpID() override { return Compiler->GetHairClumpID(); }
1197 virtual int32 GetHairTangent(bool bUseTangentSpace) override { return Compiler->GetHairTangent(bUseTangentSpace); }
1198 virtual int32 GetHairRootUV() override { return Compiler->GetHairRootUV(); }
1199 virtual int32 GetHairBaseColor() override { return Compiler->GetHairBaseColor(); }
1200 virtual int32 GetHairRoughness() override { return Compiler->GetHairRoughness(); }
1201 virtual int32 GetHairAO() override { return Compiler->GetHairAO(); }
1202 virtual int32 GetHairDepth() override { return Compiler->GetHairDepth(); }
1203 virtual int32 GetHairCoverage() override { return Compiler->GetHairCoverage(); }
1204 virtual int32 GetHairAuxilaryData() override { return Compiler->GetHairAuxilaryData(); }
1205 virtual int32 GetHairAtlasUVs() override { return Compiler->GetHairAtlasUVs(); }
1206 virtual int32 GetHairGroupIndex() override { return Compiler->GetHairGroupIndex(); }
1207 virtual int32 GetHairColorFromMelanin(int32 Melanin, int32 Redness, int32 DyeColor) override { return Compiler->GetHairColorFromMelanin(Melanin, Redness, DyeColor); }
1208
1213
1214 virtual int32 SpeedTree(int32 GeometryArg, int32 WindArg, int32 LODArg, float BillboardThreshold, bool bAccurateWindVelocities, bool bExtraBend, int32 ExtraBendArg) override
1215 {
1217 }
1218
1223
1225 {
1227 }
1228
1229 virtual int32 AtmosphericLightColor() override
1230 {
1232 }
1233
1238
1240 {
1242 }
1243
1244 virtual int32 SkyAtmosphereLightDirection(int32 LightIndex) override
1245 {
1246 return Compiler->SkyAtmosphereLightDirection(LightIndex);
1247 }
1248
1253
1258
1263
1268
1273
1275 {
1277 }
1278
1280 {
1282 }
1283
1288
1293
1298
1303
1308
1309 virtual int32 SceneDepthWithoutWater(int32 Offset, int32 ViewportUV, bool bUseOffset, float FallbackDepth) override
1310 {
1311 return Compiler->SceneDepthWithoutWater(Offset, ViewportUV, bUseOffset, FallbackDepth);
1312 }
1313
1314 virtual int32 CustomPrimitiveData(int32 OutputIndex, EMaterialValueType Type) override
1315 {
1316 return Compiler->CustomPrimitiveData(OutputIndex, Type);
1317 }
1318
1323
1325 {
1327 }
1328
1329 virtual int32 EyeAdaptation() override
1330 {
1331 return Compiler->EyeAdaptation();
1332 }
1333
1338
1339 virtual bool IsDevelopmentFeatureEnabled(const FName& FeatureName) const override
1340 {
1341 return Compiler->IsDevelopmentFeatureEnabled(FeatureName);
1342 }
1343
1345 {
1347 }
1348
1350 {
1352 }
1353
1354 virtual int32 BeginScope() override
1355 {
1356 return Compiler->BeginScope();
1357 }
1358
1359 virtual int32 BeginScope_If(int32 Condition) override
1360 {
1361 return Compiler->BeginScope_If(Condition);
1362 }
1363
1364 virtual int32 BeginScope_Else() override
1365 {
1366 return Compiler->BeginScope_Else();
1367 }
1368
1369 virtual int32 BeginScope_For(const UMaterialExpression* Expression, int32 StartIndex, int32 EndIndex, int32 IndexStep) override
1370 {
1371 return Compiler->BeginScope_For(Expression, StartIndex, EndIndex, IndexStep);
1372 }
1373
1374 virtual int32 EndScope() override
1375 {
1376 return Compiler->EndScope();
1377 }
1378
1379 virtual int32 ForLoopIndex(const UMaterialExpression* Expression) override
1380 {
1381 return Compiler->ForLoopIndex(Expression);
1382 }
1383
1388
1389 virtual int32 SetLocal(const FName& LocalName, int32 Value) override
1390 {
1391 return Compiler->SetLocal(LocalName, Value);
1392 }
1393
1394 virtual int32 GetLocal(const FName& LocalName) override
1395 {
1396 return Compiler->GetLocal(LocalName);
1397 }
1398
1399 virtual int32 NeuralOutput(int32 ViewportUV, uint32 NeuralIndexType) override
1400 {
1401 return Compiler->NeuralOutput(ViewportUV, NeuralIndexType);
1402 }
1403
1408
1410 int32 DiffuseAlbedo, int32 F0, int32 F90,
1413 int32 EmissiveColor,
1414 int32 SecondRoughness, int32 SecondRoughnessWeight, int32 SecondRoughnessAsSimpleClearCoat, int32 ClearCoatBottomNormal,
1415 int32 FuzzAmount, int32 FuzzColor, int32 FuzzRoughness,
1416 int32 Thickness,
1417 int32 GlintValue, int32 GlintUV,
1422 {
1424 DiffuseAlbedo, F0, F90,
1426 SSSProfileId, SSSMFP, SSSMFPScale, SSSPhaseAniso, SSSType,
1427 EmissiveColor,
1428 SecondRoughness, SecondRoughnessWeight, SecondRoughnessAsSimpleClearCoat, ClearCoatBottomNormal,
1429 FuzzAmount, FuzzColor, FuzzRoughness,
1430 Thickness,
1431 GlintValue, GlintUV,
1436 }
1437
1442 int32 SubSurfaceColor, int32 SubSurfaceProfileId,
1443 int32 ClearCoat, int32 ClearCoatRoughness,
1444 int32 EmissiveColor,
1445 int32 Opacity,
1447 int32 ThinTranslucentSurfaceCoverage,
1448 int32 WaterScatteringCoefficients, int32 WaterAbsorptionCoefficients, int32 WaterPhaseG, int32 ColorScaleBehindWater,
1454 {
1459 SubSurfaceColor, SubSurfaceProfileId,
1460 ClearCoat, ClearCoatRoughness,
1461 EmissiveColor,
1462 Opacity,
1464 ThinTranslucentSurfaceCoverage,
1465 WaterScatteringCoefficients, WaterAbsorptionCoefficients, WaterPhaseG, ColorScaleBehindWater,
1471 }
1472
1474 {
1476 }
1477
1478 virtual int32 SubstrateUnlitBSDF(int32 EmissiveColor, int32 TransmittanceColor, int32 Normal, FSubstrateOperator* PromoteToOperator) override
1479 {
1480 return Compiler->SubstrateUnlitBSDF(EmissiveColor, TransmittanceColor, Normal, PromoteToOperator);
1481 }
1482
1484 {
1485 return Compiler->SubstrateUIBSDF(EmissiveColor, Opacity, PromoteToOperator);
1486 }
1487
1492
1493 virtual int32 SubstrateEyeBSDF(int32 DiffuseAlbedo, int32 Roughness, int32 IrisMask, int32 IrisDistance, int32 IrisNormal, int32 IrisPlaneNormal, int32 SSSProfileId, int32 EmissiveColor, int32 CorneaNormal, const FString& SharedLocalBasisIndexMacro, FSubstrateOperator* PromoteToOperator) override
1494 {
1495 return Compiler->SubstrateEyeBSDF(DiffuseAlbedo, Roughness, IrisMask, IrisDistance, IrisNormal, IrisPlaneNormal, SSSProfileId, EmissiveColor, CorneaNormal, SharedLocalBasisIndexMacro, PromoteToOperator);
1496 }
1497
1499 int32 BaseColor, int32 Metallic, int32 Specular, int32 Roughness, int32 EmissiveColor, int32 TopMaterialOpacity,
1500 int32 WaterAlbedo, int32 WaterExtinction, int32 WaterPhaseG, int32 ColorScaleBehindWater, int32 Normal, const FString& SharedLocalBasisIndexMacro, FSubstrateOperator* PromoteToOperator) override
1501 {
1503 BaseColor, Metallic, Specular, Roughness, EmissiveColor, TopMaterialOpacity,
1504 WaterAlbedo, WaterExtinction, WaterPhaseG, ColorScaleBehindWater, Normal, SharedLocalBasisIndexMacro, PromoteToOperator);
1505 }
1506
1511
1516
1521
1526
1531
1536
1545
1550
1551 virtual int32 SubstrateTransmittanceToMFP(int32 TransmittanceColor, int32 DesiredThickness, int32 OutputIndex) override
1552 {
1553 return Compiler->SubstrateTransmittanceToMFP(TransmittanceColor, DesiredThickness, OutputIndex);
1554 }
1555
1560
1565
1566 virtual int32 SubstrateHazinessToSecondaryRoughness(int32 BaseRoughness, int32 Haziness, int32 OutputIndex) override
1567 {
1568 return Compiler->SubstrateHazinessToSecondaryRoughness(BaseRoughness, Haziness, OutputIndex);
1569 }
1570
1575
1576 virtual bool SubstrateSkipsOpacityEvaluation() override
1577 {
1579 }
1580
1581 virtual FGuid SubstrateTreeStackPush(UMaterialExpression* Expression, uint32 InputIndex) override
1582 {
1583 return Compiler->SubstrateTreeStackPush(Expression, InputIndex);
1584 }
1593 virtual void SubstrateTreeStackPop() override
1594 {
1596 }
1601
1611 {
1612 return Compiler->SubstrateThicknessStackPush(Expression, Input);
1613 }
1615 {
1616 return Compiler->SubstrateThicknessStackPush(Expression, Input);
1617 }
1618 virtual void SubstrateThicknessStackPop() override
1619 {
1621 }
1622
1627
1632
1637
1638
1643
1648
1653
1658
1663
1668
1669protected:
1670
1672};
1673
1674// Helper class to handle MaterialAttribute changes on the compiler stack
1676{
1677public:
1679 : Compiler(InCompiler)
1680 , AttributeID(InAttributeID)
1681 {
1682 check(Compiler);
1683 Compiler->PushMaterialAttribute(AttributeID);
1684 }
1685
1687 {
1688 verify(AttributeID == Compiler->PopMaterialAttribute());
1689 }
1690
1691private:
1692 FMaterialCompiler* Compiler;
1693 FGuid AttributeID;
1694};
@ Normal
Definition AndroidInputInterface.h:116
@ Valid
Definition AndroidInputInterface.h:103
#define check(expr)
Definition AssertionMacros.h:314
#define verify(expr)
Definition AssertionMacros.h:319
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define TEXT(x)
Definition Platform.h:1272
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
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
#define X(Name, Desc)
Definition FormatStringSan.h:47
void Scatter(const DeltaType &Delta, TArray< ValueType > &OutDest, int32 DestNumElements, TArray< ValueType > &&InSource, const IndexRemapType &IndexRemap, int32 ElementStride=1)
Definition InstanceDataUpdateUtils.h:23
ESubstrateMaterialExportContext
Definition MaterialCompiler.h:82
@ SMEC_Translucent
Definition MaterialCompiler.h:84
@ SMEC_Opaque
Definition MaterialCompiler.h:83
EMaterialCustomOutputFlags
Definition MaterialCompiler.h:88
EMaterialCompilerType
Definition MaterialCompiler.h:50
EMaterialForceCastFlags
Definition MaterialCompiler.h:42
@ MFCF_ForceCast
Definition MaterialCompiler.h:43
@ MFCF_ExactMatch
Definition MaterialCompiler.h:44
@ MFCF_ReplicateValue
Definition MaterialCompiler.h:45
ESubstrateMaterialExport
Definition MaterialCompiler.h:59
@ SME_ShadingModel
Definition MaterialCompiler.h:76
@ SME_Emissive
Definition MaterialCompiler.h:64
@ SME_OpacityMask
Definition MaterialCompiler.h:71
@ SME_Anisotropy
Definition MaterialCompiler.h:67
@ SME_CustomData0
Definition MaterialCompiler.h:72
@ SME_Metallic
Definition MaterialCompiler.h:68
@ SME_Roughness
Definition MaterialCompiler.h:66
@ SME_Tangent
Definition MaterialCompiler.h:75
@ SME_BaseColorPostCoverage
Definition MaterialCompiler.h:61
@ SME_BaseColor
Definition MaterialCompiler.h:62
@ SME_Opacity
Definition MaterialCompiler.h:70
@ SME_CustomData1
Definition MaterialCompiler.h:73
@ SME_MaterialPreview
Definition MaterialCompiler.h:77
@ SME_None
Definition MaterialCompiler.h:60
@ SME_Transmittance
Definition MaterialCompiler.h:69
@ SME_Normal
Definition MaterialCompiler.h:63
@ SME_SubsurfaceColor
Definition MaterialCompiler.h:74
@ SME_Specular
Definition MaterialCompiler.h:65
EParameterCollectionTransformType
Definition MaterialExpressionCollectionTransform.h:19
@ Top
Definition MaterialExpressionFunctionInput.h:42
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
EMaterialCommonBasis
Definition MaterialShared.h:312
@ MCB_PeriodicWorld
Definition MaterialShared.h:321
EMaterialValueType
Definition MaterialValueType.h:15
EShaderFrequency
Definition RHIDefinitions.h:202
@ SF_NumFrequencies
Definition RHIDefinitions.h:216
EShaderPlatform
Definition RHIShaderPlatform.h:11
EMaterialProperty
Definition SceneTypes.h:148
uint32 Offset
Definition VulkanMemory.cpp:4033
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition MaterialCompiler.h:109
virtual int32 PathTracingRayTypeSwitch(int32 Main, int32 Shadow, int32 IndirectDiffuse, int32 IndirectSpecular, int32 IndirectVolume)=0
virtual int32 DBufferTextureLookup(int32 ViewportUV, uint32 DBufferTextureIndex)=0
virtual FMaterialFunctionCompileState * PopFunction()=0
virtual int32 SceneDepth(int32 Offset, int32 ViewportUV, bool bUseOffset)=0
virtual int32 TextureParameter(FName ParameterName, UTexture *DefaultTexture, int32 &TextureReferenceIndex, EMaterialSamplerType SamplerType, ESamplerSourceMode SamplerSource=SSM_FromTextureAsset)=0
virtual int32 SubstrateVerticalLayeringParameterBlending(int32 Top, int32 Base, int32 Thickness, const FString &SharedLocalBasisIndexMacro, int32 TopBSDFNormalCodeChunk, int32 BaseBSDFNormalCodeChunk, FSubstrateOperator *PromoteToOperator)=0
virtual int32 SubstrateConversionFromLegacy(bool bHasDynamicShadingModels, int32 BaseColor, int32 Specular, int32 Metallic, int32 Roughness, int32 Anisotropy, int32 SubSurfaceColor, int32 SubSurfaceProfileId, int32 ClearCoat, int32 ClearCoatRoughness, int32 EmissiveColor, int32 Opacity, int32 ThinTranslucentTransmittanceColor, int32 ThinTranslucentSurfaceCoverage, int32 WaterScatteringCoefficients, int32 WaterAbsorptionCoefficients, int32 WaterPhaseG, int32 ColorScaleBehindWater, int32 ShadingModel, int32 Normal, int32 Tangent, const FString &SharedLocalBasisIndexMacro, int32 ClearCoat_Normal, int32 ClearCoat_Tangent, const FString &ClearCoat_SharedLocalBasisIndexMacro, int32 CustomTangent_Tangent, FSubstrateOperator *PromoteToOperator)=0
virtual int32 MeshPaintTextureDescriptor()=0
virtual int32 ObjectOrientation()=0
ENGINE_API int32 ScalarParameter(FName ParameterName, float DefaultValue)
Definition MaterialShared.cpp:320
virtual int32 VirtualTextureWorldToUV(int32 WorldPositionIndex, int32 P0, int32 P1, int32 P2, EPositionOrigin PositionOrigin)=0
virtual int32 ParticleMacroUV()=0
virtual FSubstrateOperator & SubstrateCompilationRegisterOperator(int32 OperatorType, FGuid SubstrateExpressionGuid, FGuid ChildMaterialExpressionGuid, UMaterialExpression *Parent, FGuid SubstrateParentExpressionGuid, bool bUseParameterBlending=false)=0
virtual bool IsInRuntimeVirtualTextureOutput() const =0
virtual int32 Step(int32 Y, int32 X)=0
int32 TransformPosition(EMaterialCommonBasis SourceCoordBasis, EMaterialCommonBasis DestCoordBasis, int32 A)
Definition MaterialCompiler.h:540
virtual int32 GetHairColorFromMelanin(int32 Melanin, int32 Redness, int32 DyeColor)=0
virtual int32 Truncate(int32 X)=0
virtual int32 SubstrateUnlitBSDF(int32 EmissiveColor, int32 TransmittanceColor, int32 Normal, FSubstrateOperator *PromoteToOperator)=0
virtual int32 GetCloudSampleAltitude()=0
virtual int32 PerInstanceFadeAmount()=0
virtual int32 SetMaterialAttribute(int32 MaterialAttributes, int32 Value, const FGuid &AttributeID)=0
virtual int32 SubstrateHorizontalMixing(int32 Background, int32 Foreground, int32 Mix, int OperatorIndex, uint32 MaxDistanceFromLeaves)=0
virtual int32 LightmassReplace(int32 Realtime, int32 Lightmass)=0
virtual int32 DistanceCullFade()=0
virtual int32 TruncateLWC(int32 Code)=0
virtual int32 TextureSample(int32 Texture, int32 Coordinate, enum EMaterialSamplerType SamplerType, int32 MipValue0Index=INDEX_NONE, int32 MipValue1Index=INDEX_NONE, ETextureMipValueMode MipValueMode=TMVM_None, ESamplerSourceMode SamplerSource=SSM_FromTextureAsset, ETextureGatherMode GatherMode=TGM_None, int32 TextureReferenceIndex=INDEX_NONE, bool AutomaticViewMipBias=false, bool AdaptiveVirtualTexture=false, bool EnableFeedback=true)=0
virtual int32 ExternalTextureParameter(FName ParameterName, UTexture *DefaultValue, int32 &TextureReferenceIndex)=0
virtual int32 TextureDecalMipmapLevel(int32 TextureSizeInput)=0
virtual int32 SkyAtmosphereLightIlluminanceOnGround(int32 LightIndex)=0
virtual int32 SubstrateWeight(int32 A, int32 Weight, int OperatorIndex, uint32 MaxDistanceFromLeaves)=0
virtual int32 SubstrateVerticalLayering(int32 Top, int32 Base, int32 Thickness, int OperatorIndex, uint32 MaxDistanceFromLeaves)=0
virtual ERHIFeatureLevel::Type GetFeatureLevel()=0
virtual int32 TextureFromCollection(int32 TextureCollectionCodeIndex, int32 IndexIntoCollectionCodeIndex, EMaterialValueType ResultTextureType)=0
virtual int32 VertexNormal()=0
virtual int32 Exponential(int32 X)=0
virtual int32 SubstrateThinFilm(int32 NormalCodeChunk, int32 SpecularColorCodeChunk, int32 EdgeSpecularColorCodeChunk, int32 ThicknessCodeChunk, int32 IORCodeChunk, int32 OutputIndex)=0
virtual int32 SceneDepthWithoutWater(int32 Offset, int32 ViewportUV, bool bUseOffset, float FallbackDepth)=0
virtual int32 MaterialCacheTextureDescriptor(const FMaterialCacheTagLayout &Layout, int32 PrimitiveIDIndex, uint32 LayerIndex)=0
virtual int32 ArctangentFast(int32 X)=0
int32 ExternalTexture(UTexture *DefaultTexture)
Definition MaterialCompiler.h:432
virtual int32 ReflectionAboutCustomWorldNormal(int32 CustomWorldNormal, int32 bNormalizeCustomWorldNormal)=0
virtual int32 SceneTextureLookup(int32 ViewportUV, uint32 SceneTextureId, bool bFiltered, bool bClamped, bool bUnused)=0
virtual int32 Max(int32 A, int32 B)=0
virtual int32 Div(int32 A, int32 B)=0
virtual int32 GetHairClumpID()=0
virtual bool GetTextureForExpression(int32 Index, int32 &OutTextureIndex, EMaterialSamplerType &OutSamplerType, TOptional< FName > &OutParameterName) const =0
int32 TextureCollectionParameter(FName ParameterName, UTextureCollection *DefaultValue)
Definition MaterialCompiler.h:456
virtual int32 VertexColor()=0
virtual int32 IsFirstPerson()=0
virtual FMaterialParameterInfo PopParameterOwner()=0
virtual int32 DecalLifetimeOpacity()=0
FString GetSubstrateSharedLocalBasisIndexMacroInner(const FSubstrateRegisteredSharedLocalBasis &SharedLocalBasis, uint32 Mode)
Definition MaterialCompiler.h:796
virtual int32 GetCloudSampleAltitudeInLayer()=0
virtual int32 Mul(int32 A, int32 B)=0
virtual int32 CustomExpression(class UMaterialExpressionCustom *Custom, int32 OutputIndex, TArray< int32 > &CompiledInputs)=0
virtual int32 MaterialCacheOutput(UMaterialExpressionCustomOutput *CustomOutput, const FMaterialCacheTagLayout &Layout, int32 AttributeSet)=0
virtual int32 TemporalSobol(int32 Index, int32 Seed)=0
virtual int32 VectorNoise(int32 Position, EPositionOrigin PositionOrigin, int32 Quality, uint8 NoiseFunction, bool bTiling, uint32 RepeatSize)=0
virtual int32 SubstrateSelectParameterBlending(int32 A, int32 B, int32 SelectValue, const FString &SharedLocalBasisIndexMacro, FSubstrateOperator *PromoteToOperator)=0
virtual int32 ParticleSize()=0
virtual int32 NeuralOutput(int32 ViewportUV, uint32 NeuralIndexType)=0
virtual void SubstrateThicknessStackPop()=0
virtual int32 ExternalTextureCoordinateScaleRotation(const FGuid &ExternalTextureGuid)=0
virtual int32 BeginScope_Else()=0
virtual int32 FontSignedDistanceData()=0
virtual bool IsCurrentlyCompilingForPreviousFrame() const
Definition MaterialCompiler.h:788
virtual bool IsTangentSpaceNormal() const =0
virtual int32 InstanceLocalBounds(int32 OutputIndex)=0
virtual int32 DistanceToNearestSurface(int32 PositionArg, EPositionOrigin PositionOrigin)=0
virtual int32 Logarithm2(int32 X)=0
virtual EMaterialValueType GetParameterType(int32 Index) const =0
virtual int32 TextureStreamingInfo(int32 TextureReferenceIndex, int32 TextureIndex, int32 CoordinateIndex)=0
virtual UTextureCollection * GetReferencedTextureCollection(int32 Index)
Definition MaterialCompiler.h:403
ESubstrateMaterialExportContext GetSubstrateMaterialExportContext() const
Definition MaterialCompiler.h:158
virtual int32 ParticleSpriteRotation()=0
virtual int32 SubstrateVerticalLayeringParameterBlendingBSDFCoverageToNormalMixCodeChunk(int32 TopCodeChunk)=0
virtual bool GetSubstrateTreeOutOfStackDepthOccurred()=0
virtual int32 BeginScope_If(int32 Condition)=0
int32 TransformFromPeriodicWorldPosition(EMaterialCommonBasis DestCoordBasis, int TileScaleIndex, int32 A)
Definition MaterialCompiler.h:546
virtual int32 ReflectionVector()=0
virtual int32 DepthOfFieldFunction(int32 Depth, int32 FunctionValueIndex)=0
virtual int32 CallExpression(FMaterialExpressionKey ExpressionKey, FMaterialCompiler *InCompiler)=0
virtual int32 ScalarBlueNoise()=0
virtual int32 PreSkinnedNormal()=0
virtual int32 GetHairSeed()=0
virtual EShaderFrequency GetCurrentShaderFrequency() const =0
virtual int32 NumericParameter(EMaterialParameterType ParameterType, FName ParameterName, const UE::Shader::FValue &DefaultValue)=0
virtual bool GetStaticBoolValue(int32 BoolIndex, bool &bSucceeded)=0
virtual int32 SkyAtmosphereLightDirection(int32 LightIndex)=0
virtual int32 RgbToHsv(int32 X)=0
virtual bool IsDevelopmentFeatureEnabled(const FName &FeatureName) const
Definition MaterialCompiler.h:789
virtual int32 SkyAtmosphereViewLuminance(int32 WorldDirectionOverrideCodeChunk)=0
void SetSubstrateMaterialExportType(ESubstrateMaterialExport InSubstrateMaterialExport, ESubstrateMaterialExportContext InSubstrateMaterialExportContext, uint8 InSubstrateMaterialExportLegacyBlendMode)
Definition MaterialCompiler.h:151
bool IsLightmassCompiler() const
Definition MaterialCompiler.h:149
virtual int32 LocalPosition(EPositionIncludedOffsets IncludedOffsets, ELocalPositionOrigin OriginType)=0
virtual int32 SubstrateCreateAndRegisterNullMaterial()=0
virtual int32 Length(int32 X)=0
virtual int32 ReflectionCapturePassSwitch(int32 Default, int32 Reflection)=0
virtual int32 ArccosineFast(int32 X)=0
virtual int32 ShadowReplace(int32 Default, int32 Shadow)=0
virtual FGuid PopMaterialAttribute()=0
virtual int32 Arcsine(int32 X)=0
virtual int32 SkyAtmosphereAerialPerspective(int32 WorldPosition, EPositionOrigin PositionOrigin)=0
virtual int32 EyeAdaptation()=0
virtual int32 GetHairAO()=0
virtual int32 StaticTerrainLayerWeight(FName ParameterName, int32 Default, bool bTextureArray=false)=0
virtual int32 Logarithm(int32 X)=0
virtual int32 SquareRoot(int32 X)=0
virtual int32 TwoSidedSign()=0
virtual FMaterialUniformExpression * GetParameterUniformExpression(int32 Index) const =0
virtual int32 Clamp(int32 X, int32 A, int32 B)=0
virtual void SetPotentiallyManipulateTexCoords()=0
virtual FSubstrateOperator * SubstrateCompilationGetOperatorFromIndex(int32 OperatorIndex)=0
virtual int32 PushRuntimeVirtualTextureOutput()=0
virtual int32 SubstrateSingleLayerWaterBSDF(int32 BaseColor, int32 Metallic, int32 Specular, int32 Roughness, int32 EmissiveColor, int32 TopMaterialOpacity, int32 WaterAlbedo, int32 WaterExtinction, int32 WaterPhaseG, int32 ColorScaleBehindWater, int32 Normal, const FString &SharedLocalBasisIndexMacro, FSubstrateOperator *PromoteToOperator)=0
virtual void SetMaterialProperty(EMaterialProperty InProperty, EShaderFrequency OverrideShaderFrequency=SF_NumFrequencies, bool bUsePreviousFrameTime=false)=0
virtual int32 GetHairGroupIndex()=0
virtual int32 SkyAtmosphereDistantLightScatteredLuminance()=0
virtual int32 SparseVolumeTextureSamplePhysicalTileData(int32 SparseVolumeTextureIndex, int32 VoxelCoordIndex, int32 PhysicalTileDataIdxIndex, bool bIsManualLinearMipMapSecondSample)=0
virtual int32 Arccosine(int32 X)=0
virtual int32 GetCloudEmptySpaceSkippingSphereCenterWorldPosition()=0
virtual int32 DistanceFieldApproxAO(int32 PositionArg, EPositionOrigin PositionOrigin, int32 NormalArg, int32 BaseDistanceArg, int32 RadiusArg, uint32 NumSteps, float StepScale)=0
virtual int32 SampleMaterialCache(const FMaterialCacheTagLayout &Layout, int32 PrimitiveIDIndex, int32 TexCoordIndex)=0
virtual int32 SubstrateUIBSDF(int32 EmissiveColor, int32 Opacity, FSubstrateOperator *PromoteToOperator)=0
ENGINE_API int32 Errorf(const TCHAR *Format,...)
Definition MaterialShared.cpp:313
uint8 GetSubstrateMaterialExportLegacyBlendMode() const
Definition MaterialCompiler.h:159
virtual int32 SmoothStep(int32 X, int32 Y, int32 A)=0
virtual int32 SubstrateVolumetricFogCloudBSDF(int32 Albedo, int32 Extinction, int32 EmissiveColor, int32 AmbientOcclusion, bool bEmissiveOnly)=0
virtual int32 Logarithm10(int32 X)=0
virtual void SubstrateTreeStackPop()=0
virtual int32 EndScope()=0
virtual int32 SubstrateCompilePreview(int32 SubstrateDataCodeChunk)=0
virtual int32 TextureCollectionCount(int32 InTextureCollectionCodeIndex)=0
virtual EMaterialValueType GetType(int32 Code)=0
virtual int32 CustomPrimitiveData(int32 OutputIndex, EMaterialValueType Type)=0
virtual int32 ExternalCode(const FMaterialExternalCodeDeclaration &InExternalCode)=0
virtual int32 Constant(float X)=0
virtual int32 GetVolumeSampleConservativeDensity()=0
virtual int32 ParticleMotionBlurFade()=0
virtual int32 RotateAboutAxis(int32 NormalizedRotationAxisAndAngleIndex, int32 PositionOnAxisIndex, int32 PositionIndex)=0
virtual int32 SubstrateSlabBSDF(int32 DiffuseAlbedo, int32 F0, int32 F90, int32 Roughness, int32 Anisotropy, int32 SSSProfileId, int32 SSSMFP, int32 SSSMFPScale, int32 SSSPhaseAniso, int32 SSSType, int32 EmissiveColor, int32 SecondRoughness, int32 SecondRoughnessWeight, int32 SecondRoughnessAsSimpleClearCoat, int32 ClearCoatBottomNormal, int32 FuzzAmount, int32 FuzzColor, int32 FuzzRoughness, int32 Thickness, int32 GlintValue, int32 GlintUV, int32 SpecularProfileId, bool bIsAtTheBottomOfTopology, int32 Normal, int32 Tangent, const FString &SharedLocalBasisIndexMacro, FSubstrateOperator *PromoteToOperator)=0
virtual int32 ObjectLocalBounds(int32 OutputIndex)=0
virtual int32 SubstrateAdd(int32 A, int32 B, int OperatorIndex, uint32 MaxDistanceFromLeaves)=0
virtual int32 DecalColor()=0
virtual int32 Texture(UTexture *Texture, int32 &TextureReferenceIndex, EMaterialSamplerType SamplerType, ESamplerSourceMode SamplerSource=SSM_FromTextureAsset, ETextureMipValueMode MipValueMode=TMVM_None)=0
virtual int32 SubstrateTransmittanceToMFP(int32 TransmittanceColor, int32 DesiredThickness, int32 OutputIndex)=0
virtual int32 VirtualTextureCustomData()=0
virtual int32 Cosine(int32 X)=0
virtual FMaterialShadingModelField GetMaterialShadingModels() const =0
virtual int32 CallExpressionExec(UMaterialExpression *Expression)=0
virtual int32 CustomOutput(class UMaterialExpressionCustomOutput *Custom, int32 OutputIndex, int32 OutputCode, EMaterialCustomOutputFlags Flags=EMaterialCustomOutputFlags::None)=0
bool IsMaterialProxyCompiler() const
Definition MaterialCompiler.h:148
virtual int32 Lerp(int32 X, int32 Y, int32 A)=0
virtual int32 ShadingModel(EMaterialShadingModel InSelectedShadingModel)=0
virtual int32 EyeAdaptationInverse(int32 LightValueArg, int32 AlphaArg)=0
virtual void SetBaseMaterialAttribute(const FGuid &InAttributeID)=0
void EnableValidationMode(bool bEnable)
Definition MaterialCompiler.h:792
virtual int32 SparseVolumeTextureSamplePageTable(int32 SparseVolumeTextureIndex, int32 UVWIndex, int32 MipLevelIndex, ESamplerSourceMode SamplerSource, bool bIsManualLinearMipMapSecondSample)=0
int32 TransformToPeriodicWorldPosition(EMaterialCommonBasis SourceCoordBasis, int TileScaleIndex, int32 A)
Definition MaterialCompiler.h:553
virtual int32 GetCurrentFunctionStackDepth()=0
virtual int32 ParticleRelativeTime()=0
virtual int32 InvLerp(int32 X, int32 Y, int32 A)=0
virtual int32 SparseVolumeTextureUniformParameter(FName ParameterName, int32 TextureIndex, int32 VectorIndex, UE::Shader::EValueType Type)=0
virtual int32 SetLocal(const FName &LocalName, int32 Value)=0
virtual int32 DynamicBranch(int32 Condition, int32 A, int32 B)=0
virtual int32 Error(const TCHAR *Text)=0
virtual int32 GetHairRootUV()=0
virtual int32 GenericConstant(const UE::Shader::FValue &Value)=0
virtual int32 CameraVector()=0
virtual int32 TransformPosition(EMaterialCommonBasis SourceCoordBasis, EMaterialCommonBasis DestCoordBasis, FTransformParameters &Parameters, int32 A)=0
virtual int32 RealTime(bool bPeriodic, float Period)=0
virtual int32 MeshPaintTextureCoordinateIndex()=0
virtual int32 AccessCollectionParameter(UMaterialParameterCollection *ParameterCollection, int32 ParameterIndex, int32 ComponentIndex)=0
virtual int32 Ceil(int32 X)=0
virtual int32 PopRuntimeVirtualTextureOutput(uint8 AttributeMask)=0
virtual int32 MeshPaintTextureReplace(int32 Invalid, int32 Valid)=0
virtual int32 AtmosphericLightColor()=0
virtual int32 Cross(int32 A, int32 B)=0
virtual int32 CastShadingModelToFloat(int32 Code)=0
virtual int32 ParticleSubUV(int32 TextureIndex, EMaterialSamplerType SamplerType, int32 MipValue0Index, int32 MipValue1Index, ETextureMipValueMode MipValueMode, bool bBlend)=0
virtual int32 FindOrAddUserSceneTexture(FName UserSceneTextureName)=0
virtual int32 GetPixelPosition()=0
int32 Texture(UTexture *InTexture, EMaterialSamplerType SamplerType, ESamplerSourceMode SamplerSource=SSM_FromTextureAsset)
Definition MaterialCompiler.h:408
virtual int32 GetHairRoughness()=0
virtual int32 Sign(int32 X)=0
virtual const ITargetPlatform * GetTargetPlatform() const =0
virtual int32 TextureCollection(UTextureCollection *TextureCollection, int32 &TextureCollectionReferenceIndex)=0
virtual FGuid SubstrateTreeStackPush(UMaterialExpression *Expression, uint32 InputIndex)=0
virtual int32 ExternalTexture(UTexture *InTexture, int32 &TextureReferenceIndex)=0
int32 ExternalTextureParameter(FName ParameterName, UTexture *DefaultTexture)
Definition MaterialCompiler.h:444
virtual int32 Exponential2(int32 X)=0
virtual int32 GetCloudEmptySpaceSkippingSphereRadius()=0
virtual void FeedbackMaterialLayersInstancedGraphFromCompilation(const FMaterialLayersFunctions *InLayers)
Definition MaterialCompiler.h:483
virtual int32 MapARPassthroughCameraUV(int32 UV)=0
virtual int32 ValidCast(int32 Code, EMaterialValueType DestType)=0
virtual int32 StaticComponentMask(int32 Vector, FName ParameterName, bool bDefaultR, bool bDefaultG, bool bDefaultB, bool bDefaultA)=0
virtual int32 ExternalTextureCoordinateOffset(int32 TextureReferenceIndex, TOptional< FName > ParameterName)=0
virtual int32 GameTime(bool bPeriodic, float Period)=0
virtual int32 SkyAtmosphereLightIlluminance(int32 WorldPosition, EPositionOrigin PositionOrigin, int32 LightIndex)=0
virtual int32 SkyLightEnvMapSample(int32 DirectionCodeChunk, int32 RoughnessCodeChunk)=0
virtual EMaterialQualityLevel::Type GetQualityLevel()=0
virtual int32 ForceCast(int32 Code, EMaterialValueType DestType, uint32 ForceCastFlags=0)=0
virtual int32 SubstrateThicknessStackGetThicknessIndex()=0
virtual int32 SubstrateThicknessStackGetThicknessCode(int32 Index)=0
virtual int32 GetHairBaseColor()=0
virtual int32 GetHairUV()=0
virtual int32 DistanceFieldGradient(int32 PositionArg, EPositionOrigin PositionOrigin)=0
virtual int32 ExternalTextureCoordinateScaleRotation(int32 TextureReferenceIndex, TOptional< FName > ParameterName)=0
virtual int32 Modulo(int32 A, int32 B)=0
virtual int32 Frac(int32 X)=0
virtual int32 ParticleSpeed()=0
virtual int32 ObjectRadius()=0
virtual void PushMaterialAttribute(const FGuid &InAttributeID)=0
virtual int32 SamplePhysicsField(int32 PositionArg, EPositionOrigin PositionOrigin, const int32 OutputType, const int32 TargetIndex)=0
virtual FSubstrateRegisteredSharedLocalBasis SubstrateCompilationInfoRegisterSharedLocalBasis(int32 NormalCodeChunk, int32 TangentCodeChunk)=0
virtual int32 Abs(int32 X)=0
virtual int32 GetSceneTextureViewSize(int32 SceneTextureId, bool InvProperty)=0
ESubstrateMaterialExport GetSubstrateMaterialExportType() const
Definition MaterialCompiler.h:157
virtual int32 GetLocal(const FName &LocalName)=0
virtual int32 Arctangent2Fast(int32 Y, int32 X)=0
virtual int32 SetMaterialCacheAttribute(const FMaterialCacheTagLayout &Layout, int32 AttributeSet, int32 AttributeIndex, int32 Value)=0
virtual int32 GetHairDepth()=0
virtual int32 TransformNormalFromRequestedBasisToWorld(int32 NormalCodeChunk)=0
virtual int32 Add(int32 A, int32 B)=0
virtual int32 TextureCoordinate(uint32 CoordinateIndex, bool UnMirrorU, bool UnMirrorV)=0
virtual int32 Constant3(float X, float Y, float Z)=0
virtual int32 VirtualTextureParameter(FName ParameterName, URuntimeVirtualTexture *DefaultValue, int32 TextureLayerIndex, int32 PageTableLayerIndex, int32 &TextureReferenceIndex, EMaterialSamplerType SamplerType)=0
virtual int32 RotateScaleOffsetTexCoords(int32 TexCoordCodeIndex, int32 RotationScale, int32 Offset)=0
virtual int32 Arctangent2(int32 Y, int32 X)=0
virtual int32 VertexInterpolator(uint32 InterpolatorIndex)=0
virtual int32 ObjectBounds()=0
virtual int32 ParticleColor()=0
virtual int32 ParticlePosition(EPositionOrigin OriginType)=0
virtual int32 TextureCollectionParameter(FName ParameterName, UTextureCollection *DefaultValue, int32 &TextureCollectionReferenceIndex)=0
virtual int32 TransformVector(EMaterialCommonBasis SourceCoordBasis, EMaterialCommonBasis DestCoordBasis, FTransformParameters &Parameters, int32 A)=0
virtual int32 Dot(int32 A, int32 B)=0
virtual void PushFunction(FMaterialFunctionCompileState *FunctionState)=0
virtual int32 SubstrateEyeBSDF(int32 DiffuseAlbedo, int32 Roughness, int32 IrisMask, int32 IrisDistance, int32 IrisNormal, int32 IrisPlaneNormal, int32 SSSProfileId, int32 EmissiveColor, int32 CorneaNormal, const FString &SharedLocalBasisIndexMacro, FSubstrateOperator *PromoteToOperator)=0
virtual int32 SubstrateThicknessStackPush(UMaterialExpression *Expression, FExpressionInput *Input)=0
virtual int32 SparseVolumeTexture(USparseVolumeTexture *Texture, int32 &TextureReferenceIndex, EMaterialSamplerType SamplerType)=0
virtual int32 SphericalParticleOpacity(int32 Density)=0
virtual int32 VirtualTextureUniform(FName ParameterName, int32 TextureIndex, int32 VectorIndex, UE::Shader::EValueType Type)=0
virtual int32 GetCloudSampleShadowSampleDistance()=0
virtual int32 VirtualTextureUniform(int32 TextureIndex, int32 VectorIndex, UE::Shader::EValueType Type)=0
virtual EShaderPlatform GetShaderPlatform()=0
virtual int32 DynamicParameter(FLinearColor &DefaultValue, uint32 ParameterIndex=0)=0
virtual int32 GetHairDimensions()=0
virtual FGuid SubstrateTreeStackGetParentPathUniqueId()=0
virtual int32 DeltaTime()=0
virtual UObject * GetReferencedTexture(int32 Index)
Definition MaterialCompiler.h:398
virtual int32 ParticleDirection()=0
virtual int32 SkyAtmosphereLightDiskLuminance(int32 LightIndex, int32 OverrideAtmosphereLightDiscCosHalfApexAngle)=0
virtual int32 SubstrateHorizontalMixingParameterBlending(int32 Background, int32 Foreground, int32 HorizontalMixCodeChunk, int32 NormalMixCodeChunk, const FString &SharedLocalBasisIndexMacro, int32 BackgroundBSDFNormalCodeChunk, int32 ForegroundBSDFNormalCodeChunk, FSubstrateOperator *PromoteToOperator)=0
virtual int32 Sub(int32 A, int32 B)=0
virtual bool IsMaterialPropertyUsed(EMaterialProperty Property, int32 CodeChunkIdx) const =0
virtual int32 GetHairCoverage()=0
virtual const FGuid GetMaterialAttribute()=0
int32 TransformVector(EMaterialCommonBasis SourceCoordBasis, EMaterialCommonBasis DestCoordBasis, int32 A)
Definition MaterialCompiler.h:535
virtual int32 SceneColor(int32 Offset, int32 ViewportUV, bool bUseOffset)=0
virtual int32 ReturnMaterialAttributes(int32 MaterialAttributes)=0
int32 SparseVolumeTexture(USparseVolumeTexture *Texture, EMaterialSamplerType SamplerType)
Definition MaterialCompiler.h:414
virtual FSubstrateRegisteredSharedLocalBasis SubstrateCompilationInfoRegisterSharedLocalBasis(int32 NormalCodeChunk)=0
virtual int32 Fmod(int32 A, int32 B)=0
virtual int32 GetHairTangent(bool bUseTangentSpace)=0
virtual int32 VirtualTexture(URuntimeVirtualTexture *InTexture, int32 TextureLayerIndex, int32 PageTableLayerIndex, int32 &TextureReferenceIndex, EMaterialSamplerType SamplerType)=0
virtual int32 PreSkinnedLocalBounds(int32 OutputIndex)=0
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)=0
virtual int32 PathTracingQualitySwitchReplace(int32 Normal, int32 PathTraced)=0
virtual int32 SubstrateAddParameterBlendingBSDFCoverageToNormalMixCodeChunk(int32 ACodeChunk, int32 BCodeChunk)=0
virtual int32 ForLoopIndex(const UMaterialExpression *Expression)=0
virtual int32 PerInstanceCustomData3Vector(int32 DataIndex, int32 DefaultValueIndex)=0
virtual int32 Constant4(float X, float Y, float Z, float W)=0
virtual int32 MaterialCache(int32 Default, int32 MaterialCache)=0
int32 VirtualTextureParameter(FName ParameterName, URuntimeVirtualTexture *DefaultValue, int32 TextureLayerIndex, int32 PageTableLayerIndex, EMaterialSamplerType SamplerType)
Definition MaterialCompiler.h:426
virtual int32 SubstrateHairBSDF(int32 BaseColor, int32 Scatter, int32 Specular, int32 Roughness, int32 Backlit, int32 EmissiveColor, int32 Tangent, const FString &SharedLocalBasisIndexMacro, FSubstrateOperator *PromoteToOperator)=0
virtual int32 PixelNormalWS()=0
virtual bool GetTextureCollectionForExpression(int32 Index, int32 &OutTextureCollectionIndex, TOptional< FName > &OutParameterName) const =0
virtual int32 BeginScope()=0
virtual int32 SpeedTree(int32 GeometryArg, int32 WindArg, int32 LODArg, float BillboardThreshold, bool bAccurateWindVelocities, bool bExtraBend, int32 ExtraBendArg)=0
virtual int32 PixelDepth()=0
virtual int32 Min(int32 A, int32 B)=0
virtual int32 GetCloudSampleNormAltitudeInLayer()=0
virtual FSubstrateOperator & SubstrateCompilationGetOperator(FGuid SubstrateExpressionGuid)=0
virtual int32 SubstrateWeightParameterBlending(int32 A, int32 Weight, FSubstrateOperator *PromoteToOperator)=0
virtual int32 TextureProperty(int32 InTexture, EMaterialExposedTextureProperty Property)=0
virtual int32 AppendVector(int32 A, int32 B)=0
virtual int32 DynamicBoolParameter(FName ParameterName, bool bDefaultValue)=0
virtual int32 SparseVolumeTextureSample(int32 SparseVolumeTextureIndex, int32 UVWIndex, int32 MipValue0Index, int32 MipValue1Index, int32 PhysicalTileDataIdxIndex, ETextureMipValueMode MipValueMode, ESamplerSourceMode SamplerSource)=0
virtual int32 Normalize(int32 X)=0
virtual int32 DDX(int32 X)=0
virtual int32 Switch(int32 SwitchValueInput, int32 DefaultInput, TArray< int32 > &CompiledInputs)=0
virtual bool ShouldStopTranslating() const =0
int32 TextureCollection(UTextureCollection *InTextureCollection)
Definition MaterialCompiler.h:450
bool IsVertexInterpolatorBypass() const
Definition MaterialCompiler.h:161
virtual int32 ParticleSubUVProperty(int32 PropertyIndex)=0
virtual int32 SubstrateMetalnessToDiffuseAlbedoF0(int32 BaseColor, int32 Specular, int32 Metallic, int32 OutputIndex)=0
virtual int32 ViewProperty(EMaterialExposedViewProperty Property, bool InvProperty=false)=0
int32 TextureParameter(FName ParameterName, UTexture *DefaultTexture, EMaterialSamplerType SamplerType, ESamplerSourceMode SamplerSource=SSM_FromTextureAsset)
Definition MaterialCompiler.h:438
virtual int32 Sine(int32 X)=0
virtual int32 ExternalTexture(const FGuid &ExternalTextureGuid)=0
virtual FGuid SubstrateTreeStackGetPathUniqueId()=0
virtual int32 BeginScope_For(const UMaterialExpression *Expression, int32 StartIndex, int32 EndIndex, int32 IndexStep)=0
virtual int32 Sobol(int32 Cell, int32 Index, int32 Seed)=0
virtual int32 PeriodicHint(int32 PeriodicCode)
Definition MaterialCompiler.h:236
virtual int32 PerInstanceRandom()=0
virtual int32 PostVolumeUserFlagTestFunction(int32 Input)=0
virtual int32 ParticleRadius()=0
virtual int32 CollectionTransform(int32 InputIndex, const TStaticArray< int32, 5 > &CollectionParameters, EParameterCollectionTransformType TransformType)=0
virtual int32 ArcsineFast(int32 X)=0
virtual int32 ExternalTextureCoordinateOffset(const FGuid &ExternalTextureGuid)=0
virtual int32 Tangent(int32 X)=0
int32 VirtualTexture(URuntimeVirtualTexture *InTexture, int32 TextureLayerIndex, int32 PageTableLayerIndex, EMaterialSamplerType SamplerType)
Definition MaterialCompiler.h:420
virtual int32 GetHairAtlasUVs()=0
virtual FString GetSubstrateSharedLocalBasisIndexMacro(const FSubstrateRegisteredSharedLocalBasis &SharedLocalBasis)=0
virtual int32 PreSkinnedPosition()=0
virtual int32 WorldPosition(EWorldPositionIncludedOffsets WorldPositionIncludedOffsets)=0
virtual bool SubstrateSkipsOpacityEvaluation()=0
virtual int32 SubstrateThicknessStackPush(UMaterialExpression *Expression, FScalarMaterialInput *Input)=0
virtual int32 StaticBool(bool Value)=0
virtual int32 LightmapUVs()=0
virtual int32 SubstrateAddParameterBlending(int32 A, int32 B, int32 AMixWeight, const FString &SharedLocalBasisIndexMacro, int32 ABSDFNormalCodeChunk, int32 BBSDFNormalCodeChunk, FSubstrateOperator *PromoteToOperator)=0
virtual int32 RayTracingQualitySwitchReplace(int32 Normal, int32 RayTraced)=0
virtual int32 VirtualTextureUnpack(int32 CodeIndex0, int32 CodeIndex1, int32 CodeIndex2, int32 P0, EVirtualTextureUnpackType UnpackType)=0
virtual int32 GetMaterialCacheAttribute(const FMaterialCacheTagLayout &Layout, int32 AttributeSet, int32 AttributeIndex)=0
virtual int32 TextureDecalDerivative(bool bDDY)=0
virtual int32 PerInstanceCustomData(int32 DataIndex, int32 DefaultValueIndex)=0
virtual int32 ObjectWorldPosition(EPositionOrigin OriginType)=0
virtual int32 ParticleRandom()=0
virtual int32 Constant2(float X, float Y)=0
virtual int32 HsvToRgb(int32 X)=0
virtual ~FMaterialCompiler()
Definition MaterialCompiler.h:111
virtual FMaterialShadingModelField GetCompiledShadingModels() const =0
virtual int32 Saturate(int32 X)=0
virtual EMaterialCompilerType GetCompilerType() const
Definition MaterialCompiler.h:147
bool IsValidating() const
Definition MaterialCompiler.h:793
virtual int32 IsOrthographic()=0
virtual int32 DDY(int32 X)=0
virtual int32 Arctangent(int32 X)=0
virtual int32 LightVector()=0
virtual int32 PrecomputedAOMask()=0
virtual int32 SparseVolumeTextureUniform(int32 TextureIndex, int32 VectorIndex, UE::Shader::EValueType Type)=0
virtual int32 VertexTangent()=0
virtual int32 AtmosphericFogColor(int32 WorldPosition, EPositionOrigin PositionOrigin)=0
virtual int32 SubstrateHorizontalMixingParameterBlendingBSDFCoverageToNormalMixCodeChunk(int32 BackgroundCodeChunk, int32 ForegroundCodeChunk, int32 HorizontalMixCodeChunk)=0
virtual int32 DefaultMaterialAttributes()=0
virtual int32 GIReplace(int32 Direct, int32 StaticIndirect, int32 DynamicIndirect)=0
virtual int32 Floor(int32 X)=0
virtual int32 GetViewportUV()=0
virtual int32 GetHairAuxilaryData()=0
virtual int32 SubstrateHazinessToSecondaryRoughness(int32 BaseRoughness, int32 Haziness, int32 OutputIndex)=0
virtual int32 If(int32 A, int32 B, int32 AGreaterThanB, int32 AEqualsB, int32 ALessThanB, int32 Threshold)=0
virtual int32 Round(int32 X)=0
virtual void PushParameterOwner(const FMaterialParameterInfo &InOwnerInfo)=0
virtual void AppendExpressionError(UMaterialExpression *Expression, const TCHAR *Text)=0
ENGINE_API int32 VectorParameter(FName ParameterName, const FLinearColor &DefaultValue)
Definition MaterialShared.cpp:325
virtual int32 PathTracingBufferTextureLookup(int32 ViewportUV, uint32 PathTracingBufferTextureIndex)=0
virtual int32 Power(int32 Base, int32 Exponent)=0
virtual int32 ComponentMask(int32 Vector, bool R, bool G, bool B, bool A)=0
virtual const FMaterialLayersFunctions * GetMaterialLayers()=0
virtual int32 NaniteReplace(int32 Default, int32 Nanite)=0
virtual int32 SparseVolumeTextureParameter(FName ParameterName, USparseVolumeTexture *InDefaultTexture, int32 &TextureReferenceIndex, EMaterialSamplerType SamplerType)=0
virtual int32 BlackBody(int32 Temp)=0
virtual int32 DefaultMaterialCacheAttribute(const FMaterialCacheTagLayout &Layout)=0
virtual int32 AntialiasedTextureMask(int32 Tex, int32 UV, float Threshold, uint8 Channel)=0
virtual int32 StaticBoolParameter(FName ParameterName, bool bDefaultValue)=0
virtual int32 AtmosphericLightVector()=0
virtual int32 ActorWorldPosition(EPositionOrigin OriginType)=0
virtual class UMaterialExpressionCustomOutput * GetTopCustomOutput()=0
Definition MaterialShared.h:1943
Definition MaterialShared.h:1980
Definition MaterialUniformExpressions.h:57
Definition NameTypes.h:617
Definition MaterialCompiler.h:818
virtual int32 PerInstanceRandom() override
Definition MaterialCompiler.h:1183
virtual int32 SmoothStep(int32 X, int32 Y, int32 A) override
Definition MaterialCompiler.h:1110
virtual int32 Lerp(int32 X, int32 Y, int32 A) override
Definition MaterialCompiler.h:1104
virtual int32 ExternalTextureCoordinateScaleRotation(int32 TextureReferenceIndex, TOptional< FName > ParameterName) override
Definition MaterialCompiler.h:1033
virtual int32 SubstrateSingleLayerWaterBSDF(int32 BaseColor, int32 Metallic, int32 Specular, int32 Roughness, int32 EmissiveColor, int32 TopMaterialOpacity, int32 WaterAlbedo, int32 WaterExtinction, int32 WaterPhaseG, int32 ColorScaleBehindWater, int32 Normal, const FString &SharedLocalBasisIndexMacro, FSubstrateOperator *PromoteToOperator) override
Definition MaterialCompiler.h:1498
virtual ERHIFeatureLevel::Type GetFeatureLevel() override
Definition MaterialCompiler.h:862
virtual int32 LocalPosition(EPositionIncludedOffsets IncludedOffsets, ELocalPositionOrigin OriginType)
Definition MaterialCompiler.h:919
virtual int32 SubstrateHorizontalMixingParameterBlending(int32 Background, int32 Foreground, int32 HorizontalMixCodeChunk, int32 NormalMixCodeChunk, const FString &SharedLocalBasisIndexMacro, int32 BackgroundBSDFNormalCodeChunk, int32 ForegroundBSDFNormalCodeChunk, FSubstrateOperator *PromoteToOperator) override
Definition MaterialCompiler.h:1512
virtual bool IsDevelopmentFeatureEnabled(const FName &FeatureName) const override
Definition MaterialCompiler.h:1339
virtual int32 ExternalCode(const FMaterialExternalCodeDeclaration &InExternalCode) override
Definition MaterialCompiler.h:1073
virtual int32 ShadowReplace(int32 Default, int32 Shadow) override
Definition MaterialCompiler.h:1131
virtual int32 SubstrateUIBSDF(int32 EmissiveColor, int32 Opacity, FSubstrateOperator *PromoteToOperator) override
Definition MaterialCompiler.h:1483
virtual int32 PerInstanceCustomData3Vector(int32 DataIndex, int32 DefaultValueIndex) override
Definition MaterialCompiler.h:1186
virtual int32 BeginScope_For(const UMaterialExpression *Expression, int32 StartIndex, int32 EndIndex, int32 IndexStep) override
Definition MaterialCompiler.h:1369
virtual int32 TextureCollectionCount(int32 InTextureCollectionCodeIndex) override
Definition MaterialCompiler.h:972
virtual int32 Sign(int32 X) override
Definition MaterialCompiler.h:907
virtual int32 NaniteReplace(int32 Default, int32 Nanite) override
Definition MaterialCompiler.h:1132
virtual int32 HsvToRgb(int32 X) override
Definition MaterialCompiler.h:1101
virtual int32 DBufferTextureLookup(int32 ViewportUV, uint32 DBufferTextureIndex) override
Definition MaterialCompiler.h:1062
virtual int32 DDY(int32 X) override
Definition MaterialCompiler.h:1159
virtual FGuid SubstrateTreeStackGetPathUniqueId() override
Definition MaterialCompiler.h:1585
virtual int32 GetViewportUV() override
Definition MaterialCompiler.h:917
virtual int32 ReflectionVector() override
Definition MaterialCompiler.h:913
virtual int32 RotateAboutAxis(int32 NormalizedRotationAxisAndAngleIndex, int32 PositionOnAxisIndex, int32 PositionIndex) override
Definition MaterialCompiler.h:1141
virtual int32 Dot(int32 A, int32 B) override
Definition MaterialCompiler.h:1089
virtual void PushFunction(FMaterialFunctionCompileState *FunctionState) override
Definition MaterialCompiler.h:856
virtual int32 AtmosphericFogColor(int32 WorldPosition, EPositionOrigin PositionOrigin) override
Definition MaterialCompiler.h:1219
virtual UTextureCollection * GetReferencedTextureCollection(int32 Index) override
Definition MaterialCompiler.h:1051
virtual int32 IsOrthographic() override
Definition MaterialCompiler.h:883
virtual int32 ExternalTexture(UTexture *InTexture, int32 &TextureReferenceIndex) override
Definition MaterialCompiler.h:1031
virtual int32 Div(int32 A, int32 B) override
Definition MaterialCompiler.h:1088
virtual int32 Add(int32 A, int32 B) override
Definition MaterialCompiler.h:1085
virtual int32 ExternalTextureCoordinateOffset(const FGuid &ExternalTextureGuid) override
Definition MaterialCompiler.h:1036
virtual int32 SubstrateUnlitBSDF(int32 EmissiveColor, int32 TransmittanceColor, int32 Normal, FSubstrateOperator *PromoteToOperator) override
Definition MaterialCompiler.h:1478
virtual int32 GameTime(bool bPeriodic, float Period) override
Definition MaterialCompiler.h:885
virtual int32 GetVolumeSampleConservativeDensity() override
Definition MaterialCompiler.h:1294
virtual void SubstrateTreeStackPop() override
Definition MaterialCompiler.h:1593
virtual int32 TextureDecalDerivative(bool bDDY) override
Definition MaterialCompiler.h:957
virtual int32 CallExpressionExec(UMaterialExpression *Expression)
Definition MaterialCompiler.h:854
virtual int32 SetLocal(const FName &LocalName, int32 Value) override
Definition MaterialCompiler.h:1389
virtual FString GetSubstrateSharedLocalBasisIndexMacro(const FSubstrateRegisteredSharedLocalBasis &SharedLocalBasis) override
Definition MaterialCompiler.h:1664
virtual int32 CastShadingModelToFloat(int32 Code) override
Definition MaterialCompiler.h:868
virtual EMaterialValueType GetParameterType(int32 Index) const
Definition MaterialCompiler.h:831
virtual bool ShouldStopTranslating() const override
Definition MaterialCompiler.h:828
virtual int32 VertexColor() override
Definition MaterialCompiler.h:1077
virtual int32 SkyAtmosphereLightDiskLuminance(int32 LightIndex, int32 OverrideAtmosphereLightDiscCosHalfApexAngle) override
Definition MaterialCompiler.h:1249
virtual int32 FontSignedDistanceData() override
Definition MaterialCompiler.h:1075
virtual int32 DecalColor() override
Definition MaterialCompiler.h:958
virtual int32 PathTracingBufferTextureLookup(int32 ViewportUV, uint32 PathTracingBufferTextureIndex) override
Definition MaterialCompiler.h:1063
virtual int32 SubstrateAddParameterBlending(int32 A, int32 B, int32 AMixWeight, const FString &SharedLocalBasisIndexMacro, int32 ABSDFNormalCodeChunk, int32 BBSDFNormalCodeChunk, FSubstrateOperator *PromoteToOperator) override
Definition MaterialCompiler.h:1532
virtual int32 GetCloudSampleAltitudeInLayer() override
Definition MaterialCompiler.h:1279
virtual int32 ExternalTextureCoordinateOffset(int32 TextureReferenceIndex, TOptional< FName > ParameterName) override
Definition MaterialCompiler.h:1035
virtual int32 GetHairSeed() override
Definition MaterialCompiler.h:1195
virtual int32 SubstrateWeightParameterBlending(int32 A, int32 Weight, FSubstrateOperator *PromoteToOperator) override
Definition MaterialCompiler.h:1546
virtual int32 SubstrateHorizontalMixing(int32 Background, int32 Foreground, int32 Mix, int OperatorIndex, uint32 MaxDistanceFromLeaves) override
Definition MaterialCompiler.h:1507
virtual int32 GetCloudSampleShadowSampleDistance() override
Definition MaterialCompiler.h:1289
virtual int32 VirtualTextureUnpack(int32 CodeIndex0, int32 CodeIndex1, int32 CodeIndex2, int32 P0, EVirtualTextureUnpackType UnpackType) override
Definition MaterialCompiler.h:1027
virtual int32 GetHairRootUV() override
Definition MaterialCompiler.h:1198
virtual int32 SamplePhysicsField(int32 PositionArg, EPositionOrigin PositionOrigin, const int32 OutputType, const int32 TargetIndex) override
Definition MaterialCompiler.h:1182
virtual int32 GetHairAuxilaryData() override
Definition MaterialCompiler.h:1204
virtual int32 BeginScope() override
Definition MaterialCompiler.h:1354
virtual EShaderPlatform GetShaderPlatform() override
Definition MaterialCompiler.h:863
virtual int32 PopRuntimeVirtualTextureOutput(uint8 AttributeMask) override
Definition MaterialCompiler.h:1155
virtual int32 MapARPassthroughCameraUV(int32 UV) override
Definition MaterialCompiler.h:1324
virtual int32 GetHairDepth() override
Definition MaterialCompiler.h:1202
virtual int32 DynamicBranch(int32 Condition, int32 A, int32 B) override
Definition MaterialCompiler.h:940
virtual int32 GetLocal(const FName &LocalName) override
Definition MaterialCompiler.h:1394
virtual int32 Constant(float X) override
Definition MaterialCompiler.h:876
virtual int32 Max(int32 A, int32 B) override
Definition MaterialCompiler.h:1106
virtual int32 SubstrateVerticalLayeringParameterBlendingBSDFCoverageToNormalMixCodeChunk(int32 TopCodeChunk) override
Definition MaterialCompiler.h:1644
virtual void PushParameterOwner(const FMaterialParameterInfo &InOwnerInfo) override
Definition MaterialCompiler.h:845
virtual int32 CallExpression(FMaterialExpressionKey ExpressionKey, FMaterialCompiler *InCompiler) override
Definition MaterialCompiler.h:852
virtual int32 AtmosphericLightColor() override
Definition MaterialCompiler.h:1229
virtual int32 DeltaTime() override
Definition MaterialCompiler.h:887
virtual int32 Modulo(int32 A, int32 B) override
Definition MaterialCompiler.h:910
virtual int32 Logarithm(int32 X) override
Definition MaterialCompiler.h:1095
virtual int32 GetHairGroupIndex() override
Definition MaterialCompiler.h:1206
virtual void SetBaseMaterialAttribute(const FGuid &InAttributeID) override
Definition MaterialCompiler.h:839
virtual int32 GetCloudEmptySpaceSkippingSphereRadius() override
Definition MaterialCompiler.h:1304
virtual int32 SkyAtmosphereLightIlluminance(int32 WorldPosition, EPositionOrigin PositionOrigin, int32 LightIndex) override
Definition MaterialCompiler.h:1234
virtual int32 Abs(int32 X) override
Definition MaterialCompiler.h:911
virtual int32 Step(int32 Y, int32 X) override
Definition MaterialCompiler.h:1111
virtual int32 GetPixelPosition() override
Definition MaterialCompiler.h:918
virtual int32 InstanceLocalBounds(int32 OutputIndex) override
Definition MaterialCompiler.h:925
virtual int32 GetHairAtlasUVs() override
Definition MaterialCompiler.h:1205
virtual int32 ParticleSubUVProperty(int32 PropertyIndex) override
Definition MaterialCompiler.h:934
virtual int32 Arctangent(int32 X) override
Definition MaterialCompiler.h:898
virtual int32 VertexTangent() override
Definition MaterialCompiler.h:1147
virtual int32 CustomExpression(class UMaterialExpressionCustom *Custom, int32 OutputIndex, TArray< int32 > &CompiledInputs) override
Definition MaterialCompiler.h:1151
virtual int32 InvLerp(int32 X, int32 Y, int32 A) override
Definition MaterialCompiler.h:1112
virtual int32 VirtualTextureUniform(FName ParameterName, int32 TextureIndex, int32 VectorIndex, UE::Shader::EValueType Type) override
Definition MaterialCompiler.h:1025
virtual int32 ParticleSubUV(int32 TextureIndex, EMaterialSamplerType SamplerType, int32 MipValue0Index, int32 MipValue1Index, ETextureMipValueMode MipValueMode, bool bBlend) override
Definition MaterialCompiler.h:930
virtual int32 AtmosphericLightVector() override
Definition MaterialCompiler.h:1224
virtual int32 NeuralOutput(int32 ViewportUV, uint32 NeuralIndexType) override
Definition MaterialCompiler.h:1399
virtual int32 Texture(UTexture *InTexture, int32 &TextureReferenceIndex, EMaterialSamplerType SamplerType, ESamplerSourceMode SamplerSource=SSM_FromTextureAsset, ETextureMipValueMode MipValueMode=TMVM_None) override
Definition MaterialCompiler.h:961
virtual int32 Saturate(int32 X) override
Definition MaterialCompiler.h:1108
virtual int32 LightmapUVs() override
Definition MaterialCompiler.h:1127
virtual int32 ReturnMaterialAttributes(int32 MaterialAttributes) override
Definition MaterialCompiler.h:1384
virtual int32 VirtualTexture(URuntimeVirtualTexture *InTexture, int32 TextureLayerIndex, int32 PageTableLayerIndex, int32 &TextureReferenceIndex, EMaterialSamplerType SamplerType) override
Definition MaterialCompiler.h:1016
virtual int32 ComponentMask(int32 Vector, bool R, bool G, bool B, bool A) override
Definition MaterialCompiler.h:1114
virtual int32 Arcsine(int32 X) override
Definition MaterialCompiler.h:894
virtual int32 GetSceneTextureViewSize(int32 SceneTextureId, bool InvProperty) override
Definition MaterialCompiler.h:1060
FMaterialCompiler * Compiler
Definition MaterialCompiler.h:1671
virtual int32 MaterialCache(int32 Default, int32 MaterialCache) override
Definition MaterialCompiler.h:1133
virtual int32 SubstrateVerticalLayeringParameterBlending(int32 Top, int32 Base, int32 Thickness, const FString &SharedLocalBasisIndexMacro, int32 TopBSDFNormalCodeChunk, int32 BaseBSDFNormalCodeChunk, FSubstrateOperator *PromoteToOperator) override
Definition MaterialCompiler.h:1522
virtual int32 Truncate(int32 X) override
Definition MaterialCompiler.h:906
virtual int32 BeginScope_Else() override
Definition MaterialCompiler.h:1364
virtual int32 Arctangent2(int32 Y, int32 X) override
Definition MaterialCompiler.h:900
virtual int32 GetCloudEmptySpaceSkippingSphereCenterWorldPosition() override
Definition MaterialCompiler.h:1299
virtual int32 BeginScope_If(int32 Condition) override
Definition MaterialCompiler.h:1359
virtual EMaterialValueType GetType(int32 Code) override
Definition MaterialCompiler.h:860
virtual int32 DefaultMaterialAttributes() override
Definition MaterialCompiler.h:1344
FProxyMaterialCompiler(FMaterialCompiler *InCompiler)
Definition MaterialCompiler.h:822
virtual int32 EndScope() override
Definition MaterialCompiler.h:1374
virtual int32 Constant2(float X, float Y) override
Definition MaterialCompiler.h:877
virtual int32 ExternalTextureCoordinateScaleRotation(const FGuid &ExternalTextureGuid) override
Definition MaterialCompiler.h:1034
virtual int32 SubstrateHazinessToSecondaryRoughness(int32 BaseRoughness, int32 Haziness, int32 OutputIndex) override
Definition MaterialCompiler.h:1566
virtual int32 ArccosineFast(int32 X) override
Definition MaterialCompiler.h:897
virtual int32 Clamp(int32 X, int32 A, int32 B) override
Definition MaterialCompiler.h:1107
virtual int32 SubstrateVolumetricFogCloudBSDF(int32 Albedo, int32 Extinction, int32 EmissiveColor, int32 AmbientOcclusion, bool bEmissiveOnly) override
Definition MaterialCompiler.h:1473
virtual int32 SetMaterialAttribute(int32 MaterialAttributes, int32 Value, const FGuid &AttributeID)
Definition MaterialCompiler.h:1349
virtual int32 SubstrateWeight(int32 A, int32 Weight, int OperatorIndex, uint32 MaxDistanceFromLeaves) override
Definition MaterialCompiler.h:1537
virtual int32 ForceCast(int32 Code, EMaterialValueType DestType, uint32 ForceCastFlags=0) override
Definition MaterialCompiler.h:867
virtual int32 TwoSidedSign() override
Definition MaterialCompiler.h:1145
virtual int32 Error(const TCHAR *Text) override
Definition MaterialCompiler.h:849
virtual int32 ObjectBounds() override
Definition MaterialCompiler.h:923
virtual int32 SubstrateCompilePreview(int32 SubstrateDataCodeChunk) override
Definition MaterialCompiler.h:1571
virtual int32 SubstrateAdd(int32 A, int32 B, int OperatorIndex, uint32 MaxDistanceFromLeaves) override
Definition MaterialCompiler.h:1527
virtual int32 GetCurrentFunctionStackDepth() override
Definition MaterialCompiler.h:858
virtual int32 PixelNormalWS() override
Definition MaterialCompiler.h:1148
virtual int32 SubstrateTransmittanceToMFP(int32 TransmittanceColor, int32 DesiredThickness, int32 OutputIndex) override
Definition MaterialCompiler.h:1551
virtual bool IsInRuntimeVirtualTextureOutput() const override
Definition MaterialCompiler.h:1156
virtual FSubstrateOperator * SubstrateCompilationGetOperatorFromIndex(int32 OperatorIndex) override
Definition MaterialCompiler.h:1633
virtual int32 ObjectLocalBounds(int32 OutputIndex) override
Definition MaterialCompiler.h:924
virtual int32 Frac(int32 X) override
Definition MaterialCompiler.h:908
virtual UObject * GetReferencedTexture(int32 Index) override
Definition MaterialCompiler.h:1046
virtual bool IsMaterialPropertyUsed(EMaterialProperty Property, int32 CodeChunkIdx) const override
Definition MaterialCompiler.h:865
virtual int32 CustomPrimitiveData(int32 OutputIndex, EMaterialValueType Type) override
Definition MaterialCompiler.h:1314
virtual int32 SkyAtmosphereDistantLightScatteredLuminance() override
Definition MaterialCompiler.h:1264
virtual int32 TransformPosition(EMaterialCommonBasis SourceCoordBasis, EMaterialCommonBasis DestCoordBasis, FTransformParameters &Parameters, int32 A) override
Definition MaterialCompiler.h:1120
virtual FGuid SubstrateTreeStackPush(UMaterialExpression *Expression, uint32 InputIndex) override
Definition MaterialCompiler.h:1581
virtual int32 Length(int32 X) override
Definition MaterialCompiler.h:1099
virtual int32 TransformVector(EMaterialCommonBasis SourceCoordBasis, EMaterialCommonBasis DestCoordBasis, FTransformParameters &Parameters, int32 A) override
Definition MaterialCompiler.h:1116
virtual int32 TextureDecalMipmapLevel(int32 TextureSizeInput) override
Definition MaterialCompiler.h:956
virtual int32 StaticComponentMask(int32 Vector, FName ParameterName, bool bDefaultR, bool bDefaultG, bool bDefaultB, bool bDefaultA) override
Definition MaterialCompiler.h:1068
virtual int32 PreSkinnedPosition() override
Definition MaterialCompiler.h:1082
virtual int32 Normalize(int32 X) override
Definition MaterialCompiler.h:1100
virtual int32 AppendVector(int32 A, int32 B) override
Definition MaterialCompiler.h:1115
virtual FMaterialUniformExpression * GetParameterUniformExpression(int32 Index) const
Definition MaterialCompiler.h:832
virtual int32 Power(int32 Base, int32 Exponent) override
Definition MaterialCompiler.h:1092
virtual int32 SparseVolumeTextureSample(int32 SparseVolumeTextureIndex, int32 UVWIndex, int32 MipValue0Index, int32 MipValue1Index, int32 PhysicalTileDataIdxIndex, ETextureMipValueMode MipValueMode, ESamplerSourceMode SamplerSource)
Definition MaterialCompiler.h:1044
virtual int32 TransformNormalFromRequestedBasisToWorld(int32 NormalCodeChunk) override
Definition MaterialCompiler.h:1124
virtual FSubstrateRegisteredSharedLocalBasis SubstrateCompilationInfoRegisterSharedLocalBasis(int32 NormalCodeChunk, int32 TangentCodeChunk) override
Definition MaterialCompiler.h:1659
virtual EShaderFrequency GetCurrentShaderFrequency() const override
Definition MaterialCompiler.h:848
virtual int32 DecalLifetimeOpacity() override
Definition MaterialCompiler.h:959
virtual bool GetTextureForExpression(int32 Index, int32 &OutTextureIndex, EMaterialSamplerType &OutSamplerType, TOptional< FName > &OutParameterName) const override
Definition MaterialCompiler.h:833
virtual int32 SubstrateHairBSDF(int32 BaseColor, int32 Scatter, int32 Specular, int32 Roughness, int32 Backlit, int32 EmissiveColor, int32 Tangent, const FString &SharedLocalBasisIndexMacro, FSubstrateOperator *PromoteToOperator) override
Definition MaterialCompiler.h:1488
virtual int32 SubstrateVerticalLayering(int32 Top, int32 Base, int32 Thickness, int OperatorIndex, uint32 MaxDistanceFromLeaves) override
Definition MaterialCompiler.h:1517
virtual int32 TextureParameter(FName ParameterName, UTexture *DefaultValue, int32 &TextureReferenceIndex, EMaterialSamplerType SamplerType, ESamplerSourceMode SamplerSource=SSM_FromTextureAsset) override
Definition MaterialCompiler.h:962
virtual int32 SpeedTree(int32 GeometryArg, int32 WindArg, int32 LODArg, float BillboardThreshold, bool bAccurateWindVelocities, bool bExtraBend, int32 ExtraBendArg) override
Definition MaterialCompiler.h:1214
virtual int32 DistanceFieldApproxAO(int32 PositionArg, EPositionOrigin PositionOrigin, int32 NormalArg, int32 BaseDistanceArg, int32 RadiusArg, uint32 NumSteps, float StepScale) override
Definition MaterialCompiler.h:1181
virtual int32 Switch(int32 SwitchValueInput, int32 DefaultInput, TArray< int32 > &CompiledInputs) override
Definition MaterialCompiler.h:942
virtual void PushMaterialAttribute(const FGuid &InAttributeID) override
Definition MaterialCompiler.h:836
virtual int32 SubstrateSlabBSDF(int32 DiffuseAlbedo, int32 F0, int32 F90, int32 Roughness, int32 Anisotropy, int32 SSSProfileId, int32 SSSMFP, int32 SSSMFPScale, int32 SSSPhaseAniso, int32 SSSType, int32 EmissiveColor, int32 SecondRoughness, int32 SecondRoughnessWeight, int32 SecondRoughnessAsSimpleClearCoat, int32 ClearCoatBottomNormal, int32 FuzzAmount, int32 FuzzColor, int32 FuzzRoughness, int32 Thickness, int32 GlintValue, int32 GlintUV, int32 SpecularProfileId, bool bIsAtTheBottomOfTopology, int32 Normal, int32 Tangent, const FString &SharedLocalBasisIndexMacro, FSubstrateOperator *PromoteToOperator) override
Definition MaterialCompiler.h:1409
virtual int32 DefaultMaterialCacheAttribute(const FMaterialCacheTagLayout &Layout) override
Definition MaterialCompiler.h:996
virtual int32 PerInstanceFadeAmount() override
Definition MaterialCompiler.h:1184
virtual int32 VirtualTextureParameter(FName ParameterName, URuntimeVirtualTexture *DefaultValue, int32 TextureLayerIndex, int32 PageTableLayerIndex, int32 &TextureReferenceIndex, EMaterialSamplerType SamplerType) override
Definition MaterialCompiler.h:1020
virtual int32 EyeAdaptationInverse(int32 LightValueArg, int32 AlphaArg) override
Definition MaterialCompiler.h:1334
virtual int32 Exponential(int32 X) override
Definition MaterialCompiler.h:1093
virtual int32 GetHairDimensions() override
Definition MaterialCompiler.h:1194
virtual int32 SquareRoot(int32 X) override
Definition MaterialCompiler.h:1098
virtual void SetMaterialProperty(EMaterialProperty InProperty, EShaderFrequency OverrideShaderFrequency, bool bUsePreviousFrameTime) override
Definition MaterialCompiler.h:835
virtual int32 GenericConstant(const UE::Shader::FValue &Value) override
Definition MaterialCompiler.h:880
virtual int32 SubstrateHorizontalMixingParameterBlendingBSDFCoverageToNormalMixCodeChunk(int32 BackgroundCodeChunk, int32 ForegroundCodeChunk, int32 HorizontalMixCodeChunk) override
Definition MaterialCompiler.h:1649
virtual bool SubstrateSkipsOpacityEvaluation() override
Definition MaterialCompiler.h:1576
virtual int32 WorldPosition(EWorldPositionIncludedOffsets WorldPositionIncludedOffsets) override
Definition MaterialCompiler.h:920
virtual int32 CustomOutput(class UMaterialExpressionCustomOutput *Custom, int32 OutputIndex, int32 OutputCode, EMaterialCustomOutputFlags Flags) override
Definition MaterialCompiler.h:1152
virtual int32 TextureFromCollection(int32 TextureCollectionCodeIndex, int32 IndexIntoCollectionCodeIndex, EMaterialValueType ResultTextureType) override
Definition MaterialCompiler.h:976
virtual int32 Round(int32 X) override
Definition MaterialCompiler.h:905
virtual int32 Ceil(int32 X) override
Definition MaterialCompiler.h:904
virtual int32 SkyAtmosphereAerialPerspective(int32 WorldPosition, EPositionOrigin PositionOrigin) override
Definition MaterialCompiler.h:1259
virtual int32 ArcsineFast(int32 X) override
Definition MaterialCompiler.h:895
virtual int32 Sub(int32 A, int32 B) override
Definition MaterialCompiler.h:1086
virtual int32 Logarithm10(int32 X) override
Definition MaterialCompiler.h:1097
virtual int32 ReflectionCapturePassSwitch(int32 Default, int32 Reflection) override
Definition MaterialCompiler.h:1138
virtual FGuid SubstrateTreeStackGetParentPathUniqueId() override
Definition MaterialCompiler.h:1589
virtual int32 IsFirstPerson() override
Definition MaterialCompiler.h:1149
virtual int32 ActorWorldPosition(EPositionOrigin OriginType) override
Definition MaterialCompiler.h:928
virtual FSubstrateOperator & SubstrateCompilationRegisterOperator(int32 OperatorType, FGuid SubstrateExpressionGuid, FGuid ChildMaterialExpressionGuid, UMaterialExpression *Parent, FGuid SubstrateParentExpressionGuid, bool bUseParameterBlending=false) override
Definition MaterialCompiler.h:1623
virtual FMaterialParameterInfo PopParameterOwner() override
Definition MaterialCompiler.h:846
virtual int32 RealTime(bool bPeriodic, float Period) override
Definition MaterialCompiler.h:886
virtual int32 TextureCoordinate(uint32 CoordinateIndex, bool UnMirrorU, bool UnMirrorV) override
Definition MaterialCompiler.h:953
virtual int32 TextureStreamingInfo(int32 TextureReferenceIndex, int32 TextureIndex, int32 CoordinateIndex) override
Definition MaterialCompiler.h:981
virtual int32 ExternalTexture(const FGuid &ExternalTextureGuid) override
Definition MaterialCompiler.h:1030
virtual int32 SubstrateAddParameterBlendingBSDFCoverageToNormalMixCodeChunk(int32 ACodeChunk, int32 BCodeChunk) override
Definition MaterialCompiler.h:1639
virtual int32 SubstrateSelectParameterBlending(int32 A, int32 B, int32 SelectValue, const FString &SharedLocalBasisIndexMacro, FSubstrateOperator *PromoteToOperator) override
Definition MaterialCompiler.h:1556
virtual int32 TruncateLWC(int32 Code) override
Definition MaterialCompiler.h:869
virtual int32 SparseVolumeTextureSamplePageTable(int32 SparseVolumeTextureIndex, int32 UVWIndex, int32 MipLevelIndex, ESamplerSourceMode SamplerSource, bool bIsManualLinearMipMapSecondSample) override
Definition MaterialCompiler.h:1042
virtual int32 SparseVolumeTextureUniform(int32 TextureIndex, int32 VectorIndex, UE::Shader::EValueType Type) override
Definition MaterialCompiler.h:1040
virtual bool IsTangentSpaceNormal() const override
Definition MaterialCompiler.h:843
virtual int32 GIReplace(int32 Direct, int32 StaticIndirect, int32 DynamicIndirect) override
Definition MaterialCompiler.h:1130
virtual int32 GetMaterialCacheAttribute(const FMaterialCacheTagLayout &Layout, int32 AttributeSet, int32 AttributeIndex) override
Definition MaterialCompiler.h:1006
virtual int32 Logarithm2(int32 X) override
Definition MaterialCompiler.h:1096
virtual int32 SparseVolumeTextureSamplePhysicalTileData(int32 SparseVolumeTextureIndex, int32 VoxelCoordIndex, int32 PhysicalTileDataIdxIndex, bool bIsManualLinearMipMapSecondSample) override
Definition MaterialCompiler.h:1043
virtual int32 SampleMaterialCache(const FMaterialCacheTagLayout &Layout, int32 PrimitiveIDIndex, int32 TexCoordIndex) override
Definition MaterialCompiler.h:991
virtual int32 VectorNoise(int32 Position, EPositionOrigin PositionOrigin, int32 Quality, uint8 NoiseFunction, bool bTiling, uint32 TileSize) override
Definition MaterialCompiler.h:1172
virtual int32 SkyAtmosphereLightDirection(int32 LightIndex) override
Definition MaterialCompiler.h:1244
virtual int32 ParticleRadius() override
Definition MaterialCompiler.h:937
virtual int32 GetHairColorFromMelanin(int32 Melanin, int32 Redness, int32 DyeColor) override
Definition MaterialCompiler.h:1207
virtual int32 PeriodicHint(int32 PeriodicCode) override
Definition MaterialCompiler.h:889
virtual int32 TextureProperty(int32 InTexture, EMaterialExposedTextureProperty Property) override
Definition MaterialCompiler.h:948
virtual int32 EyeAdaptation() override
Definition MaterialCompiler.h:1329
virtual int32 TextureCollection(UTextureCollection *TextureCollection, int32 &TextureCollectionReferenceIndex) override
Definition MaterialCompiler.h:964
virtual int32 SubstrateThicknessStackPush(UMaterialExpression *Expression, FExpressionInput *Input) override
Definition MaterialCompiler.h:1614
virtual FSubstrateRegisteredSharedLocalBasis SubstrateCompilationInfoRegisterSharedLocalBasis(int32 NormalCodeChunk) override
Definition MaterialCompiler.h:1654
virtual int32 Sobol(int32 Cell, int32 Index, int32 Seed) override
Definition MaterialCompiler.h:1166
virtual int32 GetHairAO() override
Definition MaterialCompiler.h:1201
virtual int32 ShadingModel(EMaterialShadingModel InSelectedShadingModel) override
Definition MaterialCompiler.h:1319
virtual int32 Cosine(int32 X) override
Definition MaterialCompiler.h:892
virtual int32 AccessCollectionParameter(UMaterialParameterCollection *ParameterCollection, int32 ParameterIndex, int32 ComponentIndex) override
Definition MaterialCompiler.h:871
virtual int32 GetHairClumpID() override
Definition MaterialCompiler.h:1196
virtual int32 MaterialCacheOutput(UMaterialExpressionCustomOutput *CustomOutput, const FMaterialCacheTagLayout &Layout, int32 AttributeSet) override
Definition MaterialCompiler.h:1011
virtual int32 Exponential2(int32 X) override
Definition MaterialCompiler.h:1094
virtual int32 SphericalParticleOpacity(int32 Density) override
Definition MaterialCompiler.h:938
virtual int32 ObjectOrientation() override
Definition MaterialCompiler.h:1140
virtual int32 PrecomputedAOMask() override
Definition MaterialCompiler.h:1128
virtual const ITargetPlatform * GetTargetPlatform() const override
Definition MaterialCompiler.h:864
virtual int32 TextureCollectionParameter(FName ParameterName, UTextureCollection *DefaultValue, int32 &TextureCollectionReferenceIndex) override
Definition MaterialCompiler.h:968
virtual int32 ObjectRadius() override
Definition MaterialCompiler.h:922
virtual int32 GetCloudSampleNormAltitudeInLayer() override
Definition MaterialCompiler.h:1284
virtual int32 GetHairCoverage() override
Definition MaterialCompiler.h:1203
virtual int32 SkyAtmosphereLightIlluminanceOnGround(int32 LightIndex) override
Definition MaterialCompiler.h:1239
virtual int32 RayTracingQualitySwitchReplace(int32 Normal, int32 RayTraced) override
Definition MaterialCompiler.h:1134
virtual int32 SetMaterialCacheAttribute(const FMaterialCacheTagLayout &Layout, int32 AttributeSet, int32 AttributeIndex, int32 Value) override
Definition MaterialCompiler.h:1001
virtual int32 SparseVolumeTextureParameter(FName ParameterName, USparseVolumeTexture *InDefaultTexture, int32 &TextureReferenceIndex, EMaterialSamplerType SamplerType) override
Definition MaterialCompiler.h:1039
virtual int32 SubstrateCreateAndRegisterNullMaterial() override
Definition MaterialCompiler.h:1404
virtual int32 PathTracingQualitySwitchReplace(int32 Normal, int32 PathTraced) override
Definition MaterialCompiler.h:1135
virtual int32 PathTracingRayTypeSwitch(int32 Main, int32 Shadow, int32 IndirectDiffuse, int32 IndirectSpecular, int32 IndirectVolume) override
Definition MaterialCompiler.h:1136
virtual int32 PreSkinnedLocalBounds(int32 OutputIndex) override
Definition MaterialCompiler.h:926
virtual int32 StaticTerrainLayerWeight(FName ParameterName, int32 Default, bool bTextureArray=false) override
Definition MaterialCompiler.h:1071
virtual int32 Sine(int32 X) override
Definition MaterialCompiler.h:891
virtual int32 ViewProperty(EMaterialExposedViewProperty Property, bool InvProperty) override
Definition MaterialCompiler.h:882
virtual UMaterialExpressionCustomOutput * GetTopCustomOutput() override
Definition MaterialCompiler.h:841
virtual int32 SubstrateMetalnessToDiffuseAlbedoF0(int32 BaseColor, int32 Specular, int32 Metallic, int32 OutputIndex) override
Definition MaterialCompiler.h:1561
virtual int32 StaticBoolParameter(FName ParameterName, bool bDefaultValue) override
Definition MaterialCompiler.h:1066
virtual int32 MeshPaintTextureReplace(int32 Invalid, int32 Valid) override
Definition MaterialCompiler.h:1080
virtual int32 CameraVector() override
Definition MaterialCompiler.h:914
virtual int32 PushRuntimeVirtualTextureOutput() override
Definition MaterialCompiler.h:1154
virtual int32 DepthOfFieldFunction(int32 Depth, int32 FunctionValueIndex) override
Definition MaterialCompiler.h:1187
virtual int32 ValidCast(int32 Code, EMaterialValueType DestType) override
Definition MaterialCompiler.h:866
virtual int32 SkyLightEnvMapSample(int32 DirectionCodeChunk, int32 RoughnessCodeChunk) override
Definition MaterialCompiler.h:1269
virtual int32 SceneDepthWithoutWater(int32 Offset, int32 ViewportUV, bool bUseOffset, float FallbackDepth) override
Definition MaterialCompiler.h:1309
virtual int32 SkyAtmosphereViewLuminance(int32 WorldDirectionOverrideCodeChunk) override
Definition MaterialCompiler.h:1254
virtual int32 PerInstanceCustomData(int32 DataIndex, int32 DefaultValueIndex) override
Definition MaterialCompiler.h:1185
virtual int32 MeshPaintTextureDescriptor() override
Definition MaterialCompiler.h:1079
virtual int32 VirtualTextureWorldToUV(int32 WorldPositionIndex, int32 P0, int32 P1, int32 P2, EPositionOrigin PositionOrigin) override
Definition MaterialCompiler.h:1026
virtual int32 ExternalTextureParameter(FName ParameterName, UTexture *DefaultValue, int32 &TextureReferenceIndex) override
Definition MaterialCompiler.h:1032
virtual int32 FindOrAddUserSceneTexture(FName UserSceneTextureName) override
Definition MaterialCompiler.h:1061
virtual int32 ArctangentFast(int32 X) override
Definition MaterialCompiler.h:899
virtual int32 DynamicParameter(FLinearColor &DefaultValue, uint32 ParameterIndex=0) override
Definition MaterialCompiler.h:1126
virtual int32 SubstrateThicknessStackPush(UMaterialExpression *Expression, FScalarMaterialInput *Input) override
Definition MaterialCompiler.h:1610
virtual EMaterialQualityLevel::Type GetQualityLevel() override
Definition MaterialCompiler.h:861
virtual int32 VertexNormal() override
Definition MaterialCompiler.h:1146
virtual int32 Constant4(float X, float Y, float Z, float W) override
Definition MaterialCompiler.h:879
virtual FSubstrateOperator & SubstrateCompilationGetOperator(FGuid SubstrateExpressionGuid) override
Definition MaterialCompiler.h:1628
virtual int32 GetHairBaseColor() override
Definition MaterialCompiler.h:1199
virtual int32 VirtualTextureUniform(int32 TextureIndex, int32 VectorIndex, UE::Shader::EValueType Type) override
Definition MaterialCompiler.h:1024
virtual int32 SubstrateEyeBSDF(int32 DiffuseAlbedo, int32 Roughness, int32 IrisMask, int32 IrisDistance, int32 IrisNormal, int32 IrisPlaneNormal, int32 SSSProfileId, int32 EmissiveColor, int32 CorneaNormal, const FString &SharedLocalBasisIndexMacro, FSubstrateOperator *PromoteToOperator) override
Definition MaterialCompiler.h:1493
virtual int32 PostVolumeUserFlagTestFunction(int32 Input) override
Definition MaterialCompiler.h:1192
virtual FGuid PopMaterialAttribute() override
Definition MaterialCompiler.h:837
virtual int32 BlackBody(int32 Temp) override
Definition MaterialCompiler.h:1178
virtual int32 ParticleMacroUV() override
Definition MaterialCompiler.h:929
virtual int32 GetCloudSampleAltitude() override
Definition MaterialCompiler.h:1274
virtual int32 Min(int32 A, int32 B) override
Definition MaterialCompiler.h:1105
virtual int32 TextureSample(int32 InTexture, int32 Coordinate, enum EMaterialSamplerType SamplerType, int32 MipValue0Index, int32 MipValue1Index, ETextureMipValueMode MipValueMode, ESamplerSourceMode SamplerSource, ETextureGatherMode GatherMode, int32 TextureReferenceIndex, bool AutomaticViewMipBias, bool AdaptiveVirtualTexture, bool EnableFeedback) override
Definition MaterialCompiler.h:944
virtual void SubstrateThicknessStackPop() override
Definition MaterialCompiler.h:1618
virtual int32 ObjectWorldPosition(EPositionOrigin OriginType) override
Definition MaterialCompiler.h:921
virtual int32 GetHairTangent(bool bUseTangentSpace) override
Definition MaterialCompiler.h:1197
virtual int32 ParticleColor() override
Definition MaterialCompiler.h:935
virtual FMaterialShadingModelField GetCompiledShadingModels() const
Definition MaterialCompiler.h:830
virtual int32 PixelDepth() override
Definition MaterialCompiler.h:1056
virtual int32 Arctangent2Fast(int32 Y, int32 X) override
Definition MaterialCompiler.h:901
virtual int32 Constant3(float X, float Y, float Z) override
Definition MaterialCompiler.h:878
virtual int32 MaterialCacheTextureDescriptor(const FMaterialCacheTagLayout &Layout, int32 PrimitiveIDIndex, uint32 LayerIndex) override
Definition MaterialCompiler.h:986
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 TileSize) override
Definition MaterialCompiler.h:1168
virtual int32 SubstrateThinFilm(int32 NormalCodeChunk, int32 SpecularColorCodeChunk, int32 EdgeSpecularColorCodeChunk, int32 ThicknessCodeChunk, int32 IORCodeChunk, int32 OutputIndex) override
Definition MaterialCompiler.h:1541
virtual int32 SubstrateThicknessStackGetThicknessCode(int32 Index) override
Definition MaterialCompiler.h:1606
virtual bool GetStaticBoolValue(int32 BoolIndex, bool &bSucceeded) override
Definition MaterialCompiler.h:1070
virtual int32 StaticBool(bool Value) override
Definition MaterialCompiler.h:1065
virtual int32 SceneColor(int32 Offset, int32 ViewportUV, bool bUseOffset) override
Definition MaterialCompiler.h:1058
virtual int32 AntialiasedTextureMask(int32 Tex, int32 UV, float Threshold, uint8 Channel) override
Definition MaterialCompiler.h:1161
virtual int32 Fmod(int32 A, int32 B) override
Definition MaterialCompiler.h:909
virtual int32 LightVector() override
Definition MaterialCompiler.h:915
virtual int32 PreSkinnedNormal() override
Definition MaterialCompiler.h:1083
virtual void AppendExpressionError(UMaterialExpression *Expression, const TCHAR *Text) override
Definition MaterialCompiler.h:850
virtual int32 LightmassReplace(int32 Realtime, int32 Lightmass) override
Definition MaterialCompiler.h:1137
virtual int32 Tangent(int32 X) override
Definition MaterialCompiler.h:893
virtual int32 Mul(int32 A, int32 B) override
Definition MaterialCompiler.h:1087
virtual int32 ForLoopIndex(const UMaterialExpression *Expression) override
Definition MaterialCompiler.h:1379
virtual int32 ScalarBlueNoise() override
Definition MaterialCompiler.h:1176
virtual int32 DDX(int32 X) override
Definition MaterialCompiler.h:1158
virtual int32 TemporalSobol(int32 Index, int32 Seed) override
Definition MaterialCompiler.h:1167
virtual int32 Arccosine(int32 X) override
Definition MaterialCompiler.h:896
virtual int32 Floor(int32 X) override
Definition MaterialCompiler.h:903
virtual int32 GetHairUV() override
Definition MaterialCompiler.h:1193
virtual int32 DistanceFieldGradient(int32 PositionArg, EPositionOrigin PositionOrigin) override
Definition MaterialCompiler.h:1180
virtual bool GetSubstrateTreeOutOfStackDepthOccurred() override
Definition MaterialCompiler.h:1597
virtual int32 DistanceToNearestSurface(int32 PositionArg, EPositionOrigin PositionOrigin) override
Definition MaterialCompiler.h:1179
virtual int32 VirtualTextureCustomData() override
Definition MaterialCompiler.h:1028
virtual FMaterialShadingModelField GetMaterialShadingModels() const
Definition MaterialCompiler.h:829
virtual int32 SparseVolumeTexture(USparseVolumeTexture *Texture, int32 &TextureReferenceIndex, EMaterialSamplerType SamplerType) override
Definition MaterialCompiler.h:1038
virtual int32 SparseVolumeTextureUniformParameter(FName ParameterName, int32 TextureIndex, int32 VectorIndex, UE::Shader::EValueType Type) override
Definition MaterialCompiler.h:1041
virtual void SetPotentiallyManipulateTexCoords() override
Definition MaterialCompiler.h:954
virtual int32 SceneDepth(int32 Offset, int32 ViewportUV, bool bUseOffset) override
Definition MaterialCompiler.h:1057
virtual int32 SceneTextureLookup(int32 ViewportUV, uint32 InSceneTextureId, bool bFiltered, bool bClamped, bool bUnused) override
Definition MaterialCompiler.h:1059
virtual int32 Cross(int32 A, int32 B) override
Definition MaterialCompiler.h:1090
virtual int32 DynamicBoolParameter(FName ParameterName, bool bDefaultValue) override
Definition MaterialCompiler.h:1067
virtual int32 MeshPaintTextureCoordinateIndex() override
Definition MaterialCompiler.h:1078
virtual int32 NumericParameter(EMaterialParameterType ParameterType, FName ParameterName, const UE::Shader::FValue &DefaultValue) override
Definition MaterialCompiler.h:874
virtual FMaterialFunctionCompileState * PopFunction() override
Definition MaterialCompiler.h:857
virtual int32 SubstrateConversionFromLegacy(bool bHasDynamicShadingModels, int32 BaseColor, int32 Specular, int32 Metallic, int32 Roughness, int32 Anisotropy, int32 SubSurfaceColor, int32 SubSurfaceProfileId, int32 ClearCoat, int32 ClearCoatRoughness, int32 EmissiveColor, int32 Opacity, int32 ThinTranslucentTransmittanceColor, int32 ThinTranslucentSurfaceCoverage, int32 WaterScatteringCoefficients, int32 WaterAbsorptionCoefficients, int32 WaterPhaseG, int32 ColorScaleBehindWater, int32 ShadingModel, int32 Normal, int32 Tangent, const FString &SharedLocalBasisIndexMacro, int32 ClearCoat_Normal, int32 ClearCoat_Tangent, const FString &ClearCoat_SharedLocalBasisIndexMacro, int32 CustomTangent_Tangent, FSubstrateOperator *PromoteToOperator) override
Definition MaterialCompiler.h:1438
virtual const FGuid GetMaterialAttribute() override
Definition MaterialCompiler.h:838
virtual const FMaterialLayersFunctions * GetMaterialLayers() override
Definition MaterialCompiler.h:1069
virtual int32 GetHairRoughness() override
Definition MaterialCompiler.h:1200
virtual int32 CollectionTransform(int32 InputIndex, const TStaticArray< int32, 5 > &CollectionParameters, EParameterCollectionTransformType TransformType) override
Definition MaterialCompiler.h:872
virtual int32 RgbToHsv(int32 X) override
Definition MaterialCompiler.h:1102
virtual int32 RotateScaleOffsetTexCoords(int32 TexCoordCodeIndex, int32 RotationScale, int32 Offset) override
Definition MaterialCompiler.h:1209
virtual int32 DistanceCullFade() override
Definition MaterialCompiler.h:927
virtual int32 ParticlePosition(EPositionOrigin OriginType) override
Definition MaterialCompiler.h:936
virtual bool GetTextureCollectionForExpression(int32 Index, int32 &OutTextureCollectionIndex, TOptional< FName > &OutParameterName) const override
Definition MaterialCompiler.h:834
virtual int32 If(int32 A, int32 B, int32 AGreaterThanB, int32 AEqualsB, int32 ALessThanB, int32 Threshold) override
Definition MaterialCompiler.h:941
virtual int32 SubstrateThicknessStackGetThicknessIndex() override
Definition MaterialCompiler.h:1602
Definition MaterialCompiler.h:1676
FScopedMaterialCompilerAttribute(FMaterialCompiler *InCompiler, const FGuid &InAttributeID)
Definition MaterialCompiler.h:1678
~FScopedMaterialCompilerAttribute()
Definition MaterialCompiler.h:1686
Definition Array.h:670
Definition StaticArray.h:26
Definition MaterialExpressionCustomOutput.h:15
Definition MaterialExpressionCustom.h:64
Definition MaterialExpression.h:150
Definition MaterialParameterCollection.h:79
Definition Object.h:95
Definition RuntimeVirtualTexture.h:18
Definition SparseVolumeTexture.h:309
Definition TextureCollection.h:47
Definition Texture.h:1219
Type
Definition SceneTypes.h:132
Type
Definition RHIFeatureLevel.h:20
Definition SkinnedMeshComponent.h:50
FDocument::ValueType FValue
Definition RapidJsonUtils.h:61
EValueType
Definition ShaderTypes.h:94
Definition AdvancedWidgetsModule.cpp:13
Definition VirtualTextureRecreate.cpp:16
U16 Index
Definition radfft.cpp:71
Definition MaterialExpressionIO.h:23
Definition Guid.h:109
Definition Color.h:48
Definition MaterialCacheAttribute.h:118
Definition MaterialExternalCodeRegistry.h:113
Definition MaterialLayersFunctions.h:221
Definition MaterialParameters.h:33
Definition EngineTypes.h:732
Definition MaterialExpressionIO.h:195
Definition SubstrateMaterialShared.h:105
Definition SubstrateMaterialShared.h:16
Definition MaterialCompiler.h:96
int32 PeriodicWorldTileSizeIndex
Definition MaterialCompiler.h:98
int32 FirstPersonInterpolationAlphaIndex
Definition MaterialCompiler.h:101
Definition Optional.h:131
Definition ShaderTypes.h:368