Navigation
API > API/Runtime > API/Runtime/Engine
Inheritance Hierarchy
- FMaterialCompiler
- FProxyMaterialCompiler
References
| Module | Engine |
| Header | /Engine/Source/Runtime/Engine/Public/MaterialCompiler.h |
| Include | #include "MaterialCompiler.h" |
Syntax
class FMaterialCompiler
Remarks
The interface used to translate material expressions into executable code. Note: Most member functions should be pure virtual to force a FProxyMaterialCompiler override!
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| int32 | |||
| int32 | AccessCollectionParameter
(
UMaterialParameterCollection* ParameterCollection, |
||
| int32 | ActorWorldPosition
(
EPositionOrigin OriginType |
||
| int32 | |||
| int32 | |||
| int32 | AntialiasedTextureMask
(
int32 Tex, |
||
| void | AppendExpressionError
(
UMaterialExpression* Expression, |
||
| int32 | AppendVector
(
int32 A, |
||
| int32 | |||
| int32 | ArccosineFast
(
int32 X |
||
| int32 | |||
| int32 | ArcsineFast
(
int32 X |
||
| int32 | Arctangent
(
int32 X |
||
| int32 | Arctangent2
(
int32 Y, |
||
| int32 | Arctangent2Fast
(
int32 Y, |
||
| int32 | ArctangentFast
(
int32 X |
||
| int32 | AtmosphericFogColor
(
int32 WorldPosition, |
||
| int32 | AtmosphericFogColor
(
int32 WorldPosition |
||
| int32 | |||
| int32 | |||
| int32 | BeginScope () |
Exec. | |
| int32 | |||
| int32 | BeginScope_For
(
const UMaterialExpression* Expression, |
||
| int32 | BeginScope_If
(
int32 Condition |
||
| int32 | |||
| int32 | CallExpression
(
FMaterialExpressionKey ExpressionKey, |
||
| int32 | CallExpressionExec
(
UMaterialExpression* Expression |
||
| int32 | CameraVector () |
||
| int32 | CastShadingModelToFloat
(
int32 Code |
Cast shading model integer to float value | |
| int32 | |||
| int32 | |||
| int32 | ComponentMask
(
int32 Vector, |
||
| int32 | Constant
(
float X |
||
| int32 | Constant2
(
float X, |
||
| int32 | Constant3
(
float X, |
||
| int32 | Constant4
(
float X, |
||
| int32 | |||
| int32 | |||
| int32 | CustomExpression
(
UMaterialExpressionCustom* Custom, |
||
| int32 | CustomOutput
(
UMaterialExpressionCustomOutput* Custom, |
||
| int32 | CustomPrimitiveData
(
int32 OutputIndex, |
||
| int32 | DBufferTextureLookup
(
int32 ViewportUV, |
||
| int32 | |||
| int32 | |||
| int32 | DecalColor () |
||
| int32 | |||
| int32 | Material attributes. | ||
| int32 | DeltaTime () |
||
| int32 | DepthOfFieldFunction
(
int32 Depth, |
||
| int32 | |||
| int32 | DistanceFieldApproxAO
(
int32 PositionArg, |
||
| int32 | |||
| int32 | DistanceFieldGradient
(
int32 PositionArg |
||
| int32 | DistanceFieldGradient
(
int32 PositionArg, |
||
| int32 | DistanceToNearestSurface
(
int32 PositionArg |
||
| int32 | DistanceToNearestSurface
(
int32 PositionArg, |
||
| int32 | |||
| int32 | |||
| int32 | DynamicBoolParameter
(
FName ParameterName, |
||
| int32 | DynamicBranch
(
int32 Condition, |
||
| int32 | DynamicParameter
(
FLinearColor& DefaultValue, |
||
| int32 | EndScope () |
||
| int32 | |||
| int32 | |||
| int32 | Exponential
(
int32 X |
||
| int32 | Exponential2
(
int32 X |
||
| int32 | ExternalTexture
(
UTexture* InTexture, |
||
| int32 | ExternalTexture
(
UTexture* DefaultTexture |
||
| int32 | ExternalTexture
(
const FGuid& ExternalTextureGuid |
||
| int32 | ExternalTextureCoordinateOffset
(
const FGuid& ExternalTextureGuid |
||
| int32 | ExternalTextureCoordinateOffset
(
int32 TextureReferenceIndex, |
||
| int32 | ExternalTextureCoordinateScaleRotation
(
int32 TextureReferenceIndex, |
||
| int32 | ExternalTextureCoordinateScaleRotation
(
const FGuid& ExternalTextureGuid |
||
| int32 | ExternalTextureParameter
(
FName ParameterName, |
||
| int32 | ExternalTextureParameter
(
FName ParameterName, |
||
| int32 | |||
| int32 | EyeAdaptationInverse
(
int32 LightValueArg, |
||
| int32 | FindOrAddUserSceneTexture
(
FName UserSceneTextureName |
||
| int32 | |||
| int32 | |||
| int32 | ForceCast
(
int32 Code, |
||
| int32 | ForLoopIndex
(
const UMaterialExpression* Expression |
||
| int32 | |||
| int32 | GameTime
(
bool bPeriodic, |
||
| int32 | GenericConstant
(
const UE::Shader::FValue& Value |
||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | |||
| FMaterialShadingModelField | Get the shading models that were encountered when compiling a material's Shading Model attribute graph. | ||
| EMaterialCompilerType | |||
| int32 | |||
| EShaderFrequency | Gets value stored by SetMaterialProperty() | ||
| ERHIFeatureLevel::Type | |||
| int32 | GetHairAO () |
||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | GetHairColorFromMelanin
(
int32 Melanin, |
||
| int32 | |||
| int32 | GetHairDepth () |
||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | GetHairSeed () |
||
| int32 | GetHairTangent
(
bool bUseTangentSpace |
||
| int32 | GetHairUV () |
||
| int32 | |||
| const FGuid | Gets the current top of the MaterialAttributes property stack. | ||
| const FMaterialLayersFunctions * | |||
| FMaterialShadingModelField | |||
| EMaterialValueType | GetParameterType
(
int32 Index |
||
| FMaterialUniformExpression * | GetParameterUniformExpression
(
int32 Index |
||
| int32 | |||
| EMaterialQualityLevel::Type | |||
| UObject * | GetReferencedTexture
(
int32 Index |
||
| UTextureCollection * | GetReferencedTextureCollection
(
int32 Index |
||
| int32 | GetSceneTextureViewSize
(
int32 SceneTextureId, |
||
| EShaderPlatform | |||
| bool | GetStaticBoolValue
(
int32 BoolIndex, |
||
| ESubstrateMaterialExportContext | |||
| uint8 | |||
| ESubstrateMaterialExport | |||
| FString | GetSubstrateSharedLocalBasisIndexMacro
(
const FSubstrateRegisteredSharedLocalBasis& SharedLocalBasis |
||
| FString | GetSubstrateSharedLocalBasisIndexMacroInner
(
const FSubstrateRegisteredSharedLocalBasis& SharedLocalBasis, |
||
| bool | This can be used to know if the Substrate tree we are trying to build is too deep and we should stop the compilation. | ||
| const ITargetPlatform * | |||
| bool | GetTextureCollectionForExpression
(
int32 Index, |
||
| bool | GetTextureForExpression
(
int32 Index, |
||
| EMaterialValueType | |||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | InstanceLocalBounds
(
int32 OutputIndex |
||
| int32 | |||
| bool | The compiler can run in a different state and this affects caching of sub expression, Expressions are different (e.g. View.PrevWorldViewOrigin) when using previous frame's values If possible we should re-factor this to avoid having to deal with compiler state | ||
| bool | IsDevelopmentFeatureEnabled
(
const FName& FeatureName |
||
| bool | |||
| bool | IsMaterialPropertyUsed
(
EMaterialProperty Property, |
||
| bool | |||
| int32 | |||
| bool | |||
| bool | |||
| int32 | |||
| int32 | |||
| int32 | LightmapUVs () |
||
| int32 | LightmassReplace
(
int32 Realtime, |
||
| int32 | LightVector () |
||
| int32 | LocalPosition
(
EPositionIncludedOffsets IncludedOffsets, |
||
| int32 | |||
| int32 | Logarithm10
(
int32 X |
||
| int32 | Logarithm2
(
int32 X |
||
| int32 | MapARPassthroughCameraUV
(
int32 UV |
||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | MeshPaintTextureReplace
(
int32 Invalid, |
||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | NaniteReplace
(
int32 Default, |
||
| int32 | NeuralOutput
(
int32 ViewportUV, |
Neural network nodes. | |
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | NumericParameter
(
EMaterialParameterType ParameterType, |
||
| int32 |
ObjectBounds ()
|
||
| int32 |
ObjectLocalBounds
(
int32 OutputIndex |
||
| int32 | |||
| int32 |
ObjectRadius ()
|
||
| int32 | |||
| int32 |
ObjectWorldPosition
(
EPositionOrigin OriginType |
||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | ParticlePosition
(
EPositionOrigin OriginType |
||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | ParticleSize () |
||
| int32 | |||
| int32 | |||
| int32 | ParticleSubUV
(
int32 TextureIndex, |
||
| int32 | ParticleSubUVProperty
(
int32 PropertyIndex |
||
| int32 | PathTracingBufferTextureLookup
(
int32 ViewportUV, |
||
| int32 | PathTracingQualitySwitchReplace
(
int32 Normal, |
||
| int32 | |||
| int32 | PerInstanceCustomData
(
int32 DataIndex, |
||
| int32 | PerInstanceCustomData3Vector
(
int32 DataIndex, |
||
| int32 | |||
| int32 | |||
| int32 | PeriodicHint
(
int32 PeriodicCode |
||
| int32 | PixelDepth () |
||
| int32 | |||
| FMaterialFunctionCompileState * | PopFunction () |
Pops a function from the compiler's function stack, which indicates that compilation is leaving a function. | |
| FGuid | Pops a MaterialAttributes property off the stack. | ||
| FMaterialParameterInfo | Pops a parameter owner off the stack. | ||
| int32 | PostVolumeUserFlagTestFunction
(
int32 Input |
||
| int32 | |||
| int32 | |||
| int32 | PreSkinnedLocalBounds
(
int32 OutputIndex |
||
| int32 | |||
| int32 | |||
| void | PushFunction
(
FMaterialFunctionCompileState* FunctionState |
Pushes a function onto the compiler's function stack, which indicates that compilation is entering a function. | |
| void | PushMaterialAttribute
(
const FGuid& InAttributeID |
Pushes a material attributes property onto the stack. | |
| void | PushParameterOwner
(
const FMaterialParameterInfo& InOwnerInfo |
Pushes a parameter owner onto the stack. | |
| int32 | RayTracingQualitySwitchReplace
(
int32 Normal, |
||
| int32 | RealTime
(
bool bPeriodic, |
||
| int32 | ReflectionAboutCustomWorldNormal
(
int32 CustomWorldNormal, |
||
| int32 | ReflectionCapturePassSwitch
(
int32 Default, |
||
| int32 | |||
| int32 | ReturnMaterialAttributes
(
int32 MaterialAttributes |
||
| int32 | |||
| int32 | RotateAboutAxis
(
int32 NormalizedRotationAxisAndAngleIndex, |
||
| int32 | RotateScaleOffsetTexCoords
(
int32 TexCoordCodeIndex, |
||
| int32 | |||
| int32 | SamplePhysicsField
(
int32 PositionArg, |
||
| int32 | SamplePhysicsField
(
int32 PositionArg, |
||
| int32 | |||
| int32 | ScalarParameter
(
FName ParameterName, |
||
| int32 | SceneColor
(
int32 Offset, |
||
| int32 | SceneDepth
(
int32 Offset, |
||
| int32 | SceneDepthWithoutWater
(
int32 Offset, |
Water. | |
| int32 | SceneTextureLookup
(
int32 ViewportUV, |
||
| void | SetBaseMaterialAttribute
(
const FGuid& InAttributeID |
Sets the bottom MaterialAttributes property of the stack. | |
| int32 | |||
| int32 | SetMaterialAttribute
(
int32 MaterialAttributes, |
||
| void | SetMaterialProperty
(
EMaterialProperty InProperty, |
Sets internal state CurrentShaderFrequency | |
| void | |||
| void | SetSubstrateMaterialExportType
(
ESubstrateMaterialExport InSubstrateMaterialExport, |
||
| int32 | ShadingModel
(
EMaterialShadingModel InSelectedShadingModel |
||
| int32 | ShadowReplace
(
int32 Default, |
||
| bool | Whether material translation should abort | ||
| int32 | |||
| int32 | |||
| int32 | SkyAtmosphereAerialPerspective
(
int32 WorldPosition |
||
| int32 | SkyAtmosphereAerialPerspective
(
int32 WorldPosition, |
||
| int32 | |||
| int32 | SkyAtmosphereLightDirection
(
int32 LightIndex |
||
| int32 | SkyAtmosphereLightDiskLuminance
(
int32 LightIndex, |
||
| int32 | SkyAtmosphereLightIlluminance
(
int32 WorldPosition, |
||
| int32 | SkyAtmosphereLightIlluminance
(
int32 WorldPosition, |
||
| int32 | SkyAtmosphereLightIlluminanceOnGround
(
int32 LightIndex |
||
| int32 | |||
| int32 | SkyLightEnvMapSample
(
int32 DirectionCodeChunk, |
||
| int32 | SmoothStep
(
int32 X, |
||
| int32 | |||
| int32 | SparseVolumeTexture
(
USparseVolumeTexture* Texture, |
Could be called sub texture and used to support multiple texture samples from a single node? Making it clear for now and setting explicitly a USparseVolumeTexture as object. | |
| int32 | SparseVolumeTexture
(
USparseVolumeTexture* Texture, |
||
| int32 | SparseVolumeTextureParameter
(
FName ParameterName, |
Register a parameterized sparse volume texture to be sampled. | |
| int32 | SparseVolumeTextureSample
(
int32 SparseVolumeTextureIndex, |
||
| int32 | SparseVolumeTextureSamplePageTable
(
int32 SparseVolumeTextureIndex, |
Sample a sparse volume texture page table. | |
| int32 | SparseVolumeTextureSamplePhysicalTileData
(
int32 SparseVolumeTextureIndex, |
Sample a sparse volume texture physical tile data texture. | |
| int32 | SparseVolumeTextureUniform
(
int32 TextureIndex, |
Register a uniform parameter required to be able to sample a sparse volume texture. | |
| int32 | SparseVolumeTextureUniformParameter
(
FName ParameterName, |
Register a uniform parameter required to be able to sample a parameterizes sparse volume texture. | |
| int32 | |||
| int32 | SphericalParticleOpacity
(
int32 Density |
||
| int32 | SquareRoot
(
int32 X |
||
| int32 | StaticBool
(
bool Value |
||
| int32 | StaticBoolParameter
(
FName ParameterName, |
||
| int32 | StaticComponentMask
(
int32 Vector, |
||
| int32 | StaticTerrainLayerWeight
(
FName ParameterName, |
||
| int32 | |||
| int32 | |||
| int32 | SubstrateAdd
(
int32 A, |
||
| int32 | SubstrateAddParameterBlending
(
int32 A, |
||
| int32 | SubstrateAddParameterBlendingBSDFCoverageToNormalMixCodeChunk
(
int32 ACodeChunk, |
||
| FSubstrateOperator & | SubstrateCompilationGetOperator
(
FGuid SubstrateExpressionGuid |
Return the operator information for a given expression. | |
| FSubstrateOperator * | SubstrateCompilationGetOperatorFromIndex
(
int32 OperatorIndex |
Return the operator information for a given index. | |
| FSubstrateRegisteredSharedLocalBasis | SubstrateCompilationInfoRegisterSharedLocalBasis
(
int32 NormalCodeChunk |
||
| FSubstrateRegisteredSharedLocalBasis | SubstrateCompilationInfoRegisterSharedLocalBasis
(
int32 NormalCodeChunk, |
||
| FSubstrateOperator & | SubstrateCompilationRegisterOperator
(
int32 OperatorType, |
Register an operator of the tree representation the Substrate material and its topology. | |
| int32 | SubstrateCompilePreview
(
int32 SubstrateDataCodeChunk |
||
| int32 | SubstrateConversionFromLegacy
(
bool bHasDynamicShadingModels, |
||
| int32 | Substrate. | ||
| int32 | |||
| int32 | SubstrateHairBSDF
(
int32 BaseColor, |
||
| int32 | SubstrateHazinessToSecondaryRoughness
(
int32 BaseRoughness, |
||
| int32 | SubstrateHorizontalMixing
(
int32 Background, |
||
| int32 | SubstrateHorizontalMixingParameterBlending
(
int32 Background, |
||
| int32 | SubstrateHorizontalMixingParameterBlendingBSDFCoverageToNormalMixCodeChunk
(
int32 BackgroundCodeChunk, |
||
| int32 | SubstrateMetalnessToDiffuseAlbedoF0
(
int32 BaseColor, |
||
| int32 | SubstrateSingleLayerWaterBSDF
(
int32 BaseColor, |
||
| bool | This is dedicated to skip evaluating any opacity input when a material instance toggles the translucent blend mode to opaque. | ||
| int32 | SubstrateSlabBSDF
(
int32 DiffuseAlbedo, |
||
| int32 | SubstrateThicknessStackGetThicknessCode
(
int32 Index |
||
| int32 | |||
| void | |||
| int32 | SubstrateThicknessStackPush
(
UMaterialExpression* Expression, |
||
| int32 | |||
| int32 | SubstrateTransmittanceToMFP
(
int32 TransmittanceColor, |
||
| FGuid | Returns the unique id of the Substrate tree path for the parent node of the current node position. | ||
| FGuid | Returns the unique id of the Substrate tree path, identifying the current node we have reached. | ||
| void | Pops a node node of the Substrate tree being walked. | ||
| FGuid | SubstrateTreeStackPush
(
UMaterialExpression* Expression, |
Pushes a node of the Substrate tree being walked. | |
| int32 | SubstrateUIBSDF
(
int32 EmissiveColor, |
||
| int32 | SubstrateUnlitBSDF
(
int32 EmissiveColor, |
||
| int32 | SubstrateVerticalLayering
(
int32 Top, |
||
| int32 | SubstrateVerticalLayeringParameterBlending
(
int32 Top, |
||
| int32 | |||
| int32 | SubstrateVolumetricFogCloudBSDF
(
int32 Albedo, |
||
| int32 | SubstrateWeight
(
int32 A, |
||
| int32 | SubstrateWeightParameterBlending
(
int32 A, |
||
| int32 | |||
| int32 | |||
| int32 | TemporalSobol
(
int32 Index, |
||
| int32 | Texture
(
UTexture* InTexture, |
||
| int32 | Texture
(
UTexture* Texture, |
||
| int32 | TextureCollection
(
UTextureCollection* TextureCollection, |
||
| int32 | TextureCollection
(
UTextureCollection* InTextureCollection |
||
| int32 | TextureCollectionCount
(
int32 InTextureCollectionCodeIndex |
||
| int32 | TextureCollectionParameter
(
FName ParameterName, |
||
| int32 | TextureCollectionParameter
(
FName ParameterName, |
||
| int32 | TextureCoordinate
(
uint32 CoordinateIndex, |
||
| int32 | TextureDecalDerivative
(
bool bDDY |
||
| int32 | TextureDecalMipmapLevel
(
int32 TextureSizeInput |
||
| int32 | TextureFromCollection
(
int32 TextureCollectionCodeIndex, |
||
| int32 | TextureParameter
(
FName ParameterName, |
||
| int32 | TextureParameter
(
FName ParameterName, |
||
| int32 | TextureProperty
(
int32 InTexture, |
||
| int32 | TextureSample
(
int32 Texture, |
||
| int32 | TransformFromPeriodicWorldPosition
(
EMaterialCommonBasis DestCoordBasis, |
||
| int32 | TransformNormalFromRequestedBasisToWorld
(
int32 NormalCodeChunk |
||
| int32 | TransformPosition
(
EMaterialCommonBasis SourceCoordBasis, |
||
| int32 | TransformToPeriodicWorldPosition
(
EMaterialCommonBasis SourceCoordBasis, |
||
| int32 | TransformVector
(
EMaterialCommonBasis SourceCoordBasis, |
||
| int32 | |||
| int32 | TruncateLWC
(
int32 Code |
||
| int32 | TwoSidedSign () |
||
| int32 | ValidCast
(
int32 Code, |
Casts the passed in code to DestType, or generates a compile error if the cast is not valid. | |
| int32 | VectorNoise
(
int32 Position, |
||
| int32 | VectorNoise
(
int32 Position, |
||
| int32 | VectorParameter
(
FName ParameterName, |
||
| int32 | VertexColor () |
||
| int32 | VertexInterpolator
(
uint32 InterpolatorIndex |
||
| int32 | VertexNormal () |
||
| int32 | |||
| int32 | ViewProperty
(
EMaterialExposedViewProperty Property, |
||
| int32 | VirtualTexture
(
URuntimeVirtualTexture* InTexture, |
||
| int32 | VirtualTexture
(
URuntimeVirtualTexture* InTexture, |
||
| int32 | VirtualTextureOutput
(
uint8 AttributeMask |
||
| int32 | VirtualTextureOutputReplace
(
int32 Default, |
||
| int32 | VirtualTextureParameter
(
FName ParameterName, |
||
| int32 | VirtualTextureParameter
(
FName ParameterName, |
||
| int32 | VirtualTextureUniform
(
int32 TextureIndex, |
||
| int32 | VirtualTextureUniform
(
FName ParameterName, |
||
| int32 | VirtualTextureUnpack
(
int32 CodeIndex0, |
||
| int32 | VirtualTextureWorldToUV
(
int32 WorldPositionIndex, |
||
| int32 | VirtualTextureWorldToUV
(
int32 WorldPositionIndex, |
||
| int32 | WorldPosition
(
EWorldPositionIncludedOffsets WorldPositionIncludedOffsets |