|
void
|
AddEditorLoadedMaterialResource
|
Adds an FMaterial to the global list.
|
|
uint32
|
AddRef()
|
|
|
void
|
AddReferencedObjects
|
|
|
bool
|
AllowNegativeEmissiveColor()
|
|
|
void
|
BackupEditorLoadedMaterialShadersToMemory
|
Backs up any FShaders in editor loaded materials to memory through serialization and clears FShader references.
|
|
void
|
BeginAllowCachingStaticParameterValues()
|
|
|
bool
|
CacheShaders
|
Caches the material shaders for the given static parameter set and platform.
|
|
bool
|
CacheShaders
|
Caches the material shaders for this material on the given platform.
|
|
void
|
CancelCompilation()
|
Cancels all outstanding compilation jobs for this material.
|
|
bool
|
CastsRayTracedShadows()
|
|
|
int32
|
CompilePropertyAndSetMaterialProperty
|
Entry point for compiling a specific material property. This must call SetMaterialProperty.
|
|
bool
|
ComputeFogPerPixel()
|
|
|
void
|
DeferredDelete
|
|
|
void
|
DeferredDeleteArray
|
|
|
void
|
DeferredDeleteArray
( TArray< TMaterial* >& Materia... )
|
|
|
void
|
DeleteMaterialsOnRenderThread
|
|
|
void
|
DiscardShaderMap()
|
Discards loaded shader maps if the application can't render
|
|
void
|
DumpDebugInfo()
|
|
|
void
|
EndAllowCachingStaticParameterValues()
|
|
|
void
|
FinishCompilation()
|
Blocks until compilation has completed. Returns immediately if a compilation is not outstanding.
|
|
void
|
GatherCustomOutputExpressions
|
Gather any UMaterialExpressionCustomOutput expressions they can be compiled in turn
|
|
void
|
GatherExpressionsForCustomInterpolators
|
Gather any UMaterialExpressionCustomOutput expressions in the material and referenced function calls
|
|
bool
|
GetAllowDevelopmentShaderCompile()
|
Returns true if this material is allowed to make development shaders via the global CVar CompileShadersForDevelopment.
|
|
FString
|
GetAssetName()
|
Similar to GetFriendlyName, but but avoids historical behavior of the former, returning the exact asset name for material instances instead of just the material.
|
|
FName
|
GetAssetPath()
|
Allows to associate the shader resources with the asset for load order.
|
|
FString
|
GetBaseMaterialPathName()
|
Useful for debugging.
|
|
int32
|
GetBlendableLocation()
|
|
|
bool
|
GetBlendableOutputAlpha()
|
|
|
enum EBlendM...
|
GetBlendMode()
|
|
|
const FMater...
|
GetCachedExpressionData()
|
|
|
bool
|
GetCastDynamicShadowAsMasked()
|
|
|
const TArray...
|
GetCompileErrors()
|
|
|
FString
|
GetDebugName()
|
|
|
void
|
GetDependentShaderAndVFTypes
|
Produces arrays of any shader and vertex factory type that this material is dependent on.
|
|
const TArray...
|
GetErrorExpressions()
|
|
|
const FStati...
|
GetFeatureLevel()
|
|
|
bool
|
GetForwardBlendsSkyLightCubemaps()
|
|
|
FString
|
GetFriendlyName()
|
|
|
FString
|
GetFullPath()
|
|
|
uint32
|
GetGameThreadCompilingShaderMapId()
|
|
|
FMaterialSha...
|
GetGameThreadShaderMap()
|
|
|
const FGuid ...
|
GetLegacyId()
|
|
|
bool
|
GetLoadedCookedShaderMapId()
|
|
|
uint32
|
GetMaterialDecalResponse()
|
|
|
EMaterialDom...
|
GetMaterialDomain()
|
|
|
bool
|
GetMaterialExpressionSource
|
Get user source code for the material, with a list of code snippets to highlight representing the code for each MaterialExpression
|
|
enum EMateri...
|
GetMaterialFloatPrecisionMode()
|
|
|
FGuid
|
GetMaterialId()
|
Gets the Guid that represents this material.
|
|
UMaterialInt...
|
GetMaterialInterface()
|
|
|
EMaterialSha...
|
GetMaterialShaderMapUsage()
|
Returns which shadermap this material is bound to.
|
|
FString
|
GetMaterialUsageDescription()
|
Returns a string that describes the material's usage for debugging purposes.
|
|
int32
|
GetNumCustomizedUVs()
|
|
|
float
|
GetOpacityMaskClipValue()
|
|
|
EMaterialQua...
|
GetQualityLevel()
|
|
|
uint32
|
GetRefCount()
|
|
|
TArrayView< ...
|
GetReferencedTextures()
|
|
|
float
|
GetRefractionDepthBiasValue()
|
|
|
enum ERefrac...
|
GetRefractionMode()
|
|
|
FMaterialSha...
|
GetRenderingThreadShaderMap()
|
|
|
uint8
|
GetRuntimeVirtualTextureOutputAttibuteMask_RenderThread()
|
Get the runtime virtual texture output attribute mask for the material.
|
|
TShaderRef< ...
|
GetShader
|
|
|
TShaderRef< ...
|
GetShader
|
Finds the shader matching the template type and the passed in vertex factory, asserts if not found.
|
|
void
|
GetShaderMapId
|
Material properties.
|
|
void
|
GetShaderMapIDsWithUnfinishedCompilation
|
Fills the passed array with IDs of shader maps unfinished compilation jobs.
|
|
const FMater...
|
GetShaderMapToUse()
|
Shared code needed for GetUniformScalarParameterExpressions, GetUniformVectorParameterExpressions, GetUniformCubeTextureExpressions..
|
|
EMaterialSha...
|
GetShaderMapUsage()
|
Gets the shader map usage of the material, which will be included in the DDC key.
|
|
FShaderPipel...
|
GetShaderPipeline
|
|
|
void
|
GetShaderTypes
|
Gathers a list of shader types sorted by vertex factory types that should be cached for this material.
|
|
FMaterialSha...
|
GetShadingModels()
|
|
|
EMaterialSha...
|
GetShadingRate()
|
|
|
void
|
GetStaticParameterSet
|
|
|
uint32
|
GetStencilCompare()
|
|
|
uint32
|
GetStencilRefValue()
|
|
|
float
|
GetTranslucencyDirectionalLightingIntensity()
|
|
|
enum ETransl...
|
GetTranslucencyLightingMode()
|
|
|
float
|
GetTranslucentBackscatteringExponent()
|
|
|
FLinearColor
|
GetTranslucentMultipleScatteringExtinction()
|
|
|
float
|
GetTranslucentSelfShadowDensityScale()
|
|
|
float
|
GetTranslucentSelfShadowSecondDensityScale()
|
|
|
float
|
GetTranslucentSelfShadowSecondOpacity()
|
|
|
float
|
GetTranslucentShadowDensityScale()
|
|
|
float
|
GetTranslucentShadowStartOffset()
|
|
|
TArrayView< ...
|
GetUniform2DArrayTextureExpressions()
|
|
|
TArrayView< ...
|
GetUniform2DTextureExpressions()
|
|
|
TArrayView< ...
|
GetUniformCubeTextureExpressions()
|
|
|
const FUnifo...
|
GetUniformExpressions()
|
Accessors.
|
|
TArrayView< ...
|
GetUniformNumericParameterExpressions()
|
|
|
TArrayView< ...
|
GetUniformTextureExpressions
|
|
|
TArrayView< ...
|
GetUniformVirtualTextureExpressions()
|
|
|
TArrayView< ...
|
GetUniformVolumeTextureExpressions()
|
|
|
bool
|
GetUsesDynamicParameter()
|
|
|
bool
|
HasAmbientOcclusionConnected()
|
|
|
bool
|
HasAnisotropyConnected()
|
|
|
bool
|
HasBaseColorConnected()
|
|
|
bool
|
HasEmissiveColorConnected()
|
|
|
bool
|
HasMaterialAttributesConnected()
|
|
|
bool
|
HasMetallicConnected()
|
|
|
bool
|
HasNormalConnected()
|
|
|
bool
|
HasPerInstanceCustomData()
|
|
|
bool
|
HasPerInstanceRandom()
|
|
|
bool
|
HasPixelDepthOffsetConnected()
|
|
|
bool
|
HasRoughnessConnected()
|
|
|
bool
|
HasRuntimeVirtualTextureOutput()
|
|
|
bool
|
HasShaders
|
|
|
bool
|
HasSpecularConnected()
|
|
|
bool
|
HasValidGameThreadShaderMap()
|
Checks if there is a valid GameThreadShaderMap, that is, the material can be rendered as intended.
|
|
bool
|
HasVertexInterpolator()
|
|
|
bool
|
HasVertexPositionOffsetConnected()
|
|
|
bool
|
IsCompilationFinished()
|
Checks if the compilation for this shader is finished
|
|
bool
|
IsCompiledWithExecutionFlow()
|
Should the material be compiled using exec pin?
|
|
bool
|
IsDefaultMaterial()
|
|
|
bool
|
IsDeferredDecal()
|
|
|
bool
|
IsDistorted()
|
|
|
bool
|
IsDitheredLODTransition()
|
|
|
bool
|
IsDitherMasked()
|
|
|
bool
|
IsDualBlendingEnabled
|
|
|
bool
|
IsFullyRough()
|
|
|
bool
|
IsGameThreadShaderMapComplete()
|
|
|
bool
|
IsLightFunction()
|
|
|
bool
|
IsMasked()
|
|
|
bool
|
IsMobileHighQualityBRDFEnabled()
|
|
|
bool
|
IsMobileSeparateTranslucencyEnabled()
|
|
|
bool
|
IsNonmetal()
|
|
|
bool
|
IsOwnerBeginDestroyed()
|
|
|
bool
|
IsPersistent()
|
Should shaders compiled for this material be saved to disk?
|
|
bool
|
IsRenderingThreadShaderMapComplete()
|
|
|
bool
|
IsRequiredComplete()
|
Is the material required to be complete? Default materials, special engine materials, etc
|
|
bool
|
IsShadingModelFromMaterialExpression()
|
|
|
bool
|
IsSky()
|
|
|
bool
|
IsSpecialEngineMaterial()
|
|
|
bool
|
IsStencilTestEnabled()
|
|
|
bool
|
IsStrataMaterial()
|
|
|
bool
|
IsTangentSpaceNormal()
|
|
|
bool
|
IsTranslucencyAfterDOFEnabled()
|
|
|
bool
|
IsTranslucencyAfterMotionBlurEnabled()
|
|
|
bool
|
IsTranslucencyWritingCustomDepth()
|
|
|
bool
|
IsTranslucencyWritingVelocity()
|
|
|
bool
|
IsTwoSided()
|
|
|
bool
|
IsUIMaterial()
|
|
|
bool
|
IsUsedWithAPEXCloth()
|
|
|
bool
|
IsUsedWithBeamTrails()
|
|
|
bool
|
IsUsedWithEditorCompositing()
|
|
|
bool
|
IsUsedWithGeometryCache()
|
|
|
bool
|
IsUsedWithGeometryCollections()
|
|
|
bool
|
IsUsedWithHairStrands()
|
|
|
bool
|
IsUsedWithInstancedStaticMeshes()
|
|
|
bool
|
IsUsedWithLandscape()
|
|
|
bool
|
IsUsedWithLidarPointCloud()
|
|
|
bool
|
IsUsedWithMeshParticles()
|
|
|
bool
|
IsUsedWithMorphTargets()
|
|
|
bool
|
IsUsedWithNanite()
|
|
|
bool
|
IsUsedWithNiagaraMeshParticles()
|
|
|
bool
|
IsUsedWithNiagaraRibbons()
|
|
|
bool
|
IsUsedWithNiagaraSprites()
|
|
|
bool
|
IsUsedWithParticleSprites()
|
|
|
bool
|
IsUsedWithParticleSystem()
|
|
|
bool
|
IsUsedWithSkeletalMesh()
|
|
|
bool
|
IsUsedWithSplineMeshes()
|
|
|
bool
|
IsUsedWithStaticLighting()
|
|
|
bool
|
IsUsedWithUI()
|
|
|
bool
|
IsUsedWithVirtualHeightfieldMesh()
|
|
|
bool
|
IsUsedWithWater()
|
|
|
bool
|
IsUsingAlphaToCoverage()
|
|
|
bool
|
IsUsingHQForwardReflections()
|
|
|
bool
|
IsUsingNewHLSLGenerator()
|
Is the material using the new (WIP) HLSL generator?
|
|
bool
|
IsUsingPlanarForwardReflections()
|
|
|
bool
|
IsUsingPreintegratedGFForSimpleIBL()
|
|
|
bool
|
IsVolumetricPrimitive()
|
|
|
bool
|
IsWireframe()
|
|
|
void
|
LegacySerialize
|
Serializes the material.
|
|
bool
|
MaterialMayModifyMeshPosition()
|
This function is only intended for use in deciding whether or not shader permutations are required before material translation occurs.
|
|
bool
|
MaterialModifiesMeshPosition_GameThread()
|
|
|
bool
|
MaterialModifiesMeshPosition_RenderThread()
|
Does the material modify the mesh position.
|
|
bool
|
MaterialUsesAnisotropy_GameThread()
|
|
|
bool
|
MaterialUsesAnisotropy_RenderThread()
|
|
|
bool
|
MaterialUsesDistanceCullFade_GameThread()
|
Does the material use a distance cull fade.
|
|
bool
|
MaterialUsesPixelDepthOffset()
|
Does the material use a pixel depth offset.
|
|
bool
|
MaterialUsesSceneDepthLookup_GameThread()
|
|
|
bool
|
MaterialUsesSceneDepthLookup_RenderThread()
|
Does the material use a SceneDepth lookup.
|
|
bool
|
NeedsGBuffer()
|
|
|
bool
|
NeedsSceneTextures()
|
|
|
void
|
NotifyCompilationFinished()
|
Called when compilation of an FMaterial finishes, after the GameThreadShaderMap is set and the render command to set the RenderThreadShaderMap is queued
|
|
bool
|
PrepareDestroy_GameThread()
|
Prepares to destroy the material, must be called from game thread Returns 'true' if PrepareDestroy_RenderThread() is required
|
|
void
|
PrepareDestroy_RenderThread()
|
Prepares to destroy the material, must be called from render thread, only if PrepareDestroy_GameThread() returned true
|
|
void
|
RegisterInlineShaderMap
( bool bLoadedByCookedMaterial )
|
Serializes the shader map inline in this material, including any shader dependencies.
|
|
uint32
|
Release()
|
|
|
void
|
ReleaseShaderMap()
|
Releases this material's shader map.
|
|
bool
|
RequiresSceneColorCopy_GameThread()
|
|
|
bool
|
RequiresSceneColorCopy_RenderThread()
|
|
|
bool
|
RequiresSynchronousCompilation()
|
|
|
void
|
RestoreEditorLoadedMaterialShadersFromMemory
|
Recreates FShaders in editor loaded materials from the passed in memory, handling shader key changes.
|
|
void
|
SaveShaderStableKeys
|
|
|
void
|
SerializeInlineShaderMap
|
Serializes the shader map inline in this material, including any shader dependencies.
|
|
void
|
SetCompileErrors
|
|
|
void
|
SetCompilingShaderMap
|
|
|
void
|
SetGameThreadShaderMap
|
|
|
void
|
SetInlineShaderMap
|
|
|
void
|
SetOwnerBeginDestroyed()
|
|
|
void
|
SetQualityLevelProperties
|
|
|
void
|
SetRenderingThreadShaderMap
|
|
|
void
|
SetShaderMapsOnMaterialResources
|
Sets shader maps on the specified materials without blocking.
|
|
void
|
SetupExtaCompilationSettings
|
Call during shader compilation jobs setup to fill additional settings that may be required by classes who inherit from this
|
|
bool
|
ShouldApplyCloudFogging()
|
|
|
bool
|
ShouldApplyFogging()
|
|
|
bool
|
ShouldCache
|
Should the shader for this material with the given platform, shader type and vertex factory type combination be compiled
|
|
bool
|
ShouldCachePipeline
|
|
|
bool
|
ShouldCacheShaders
|
|
|
bool
|
ShouldCastDynamicShadows()
|
Returns whether this material should be considered for casting dynamic shadows.
|
|
bool
|
ShouldDisableDepthTest()
|
|
|
bool
|
ShouldDoContactShadows()
|
|
|
bool
|
ShouldDoSSR()
|
|
|
bool
|
ShouldEnableResponsiveAA()
|
|
|
bool
|
ShouldGenerateSphericalParticleNormals()
|
|
|
bool
|
ShouldInlineShaderCode()
|
Some materials may be loaded early - before the shader library - and need their code inlined
|
|
bool
|
ShouldWriteOnlyAlpha()
|
|
|
void
|
SubmitCompileJobs
|
|
|
bool
|
TryGetShaders
|
|
|
void
|
UpdateEditorLoadedMaterialResources
|
Recompiles any materials in the EditorLoadedMaterialResources list if they are not complete.
|
|
void
|
UpdateInlineShaderMapIsComplete()
|
|
|
bool
|
UseLmDirectionality()
|
|
|
bool
|
UseNormalCurvatureToRoughness()
|
|
|
bool
|
UsesCustomDepthStencil_GameThread()
|
Does the material use CustomDepth or CustomStencil lookup
|
|
bool
|
UsesEyeAdaptation()
|
|
|
bool
|
UsesGlobalDistanceField_GameThread()
|
|
|
bool
|
UsesWorldPositionOffset_GameThread()
|
|
|
bool
|
WritesEveryPixel
|
Helper function to look at both IsMasked and IsDitheredLODTransition to determine if it writes every pixel
|