|
| uint32 | AddRef () const |
| |
| uint32 | Release () const |
| |
| uint32 | GetRefCount () const |
| |
| | FMaterial () |
| |
| virtual ENGINE_API | ~FMaterial () |
| |
| virtual ENGINE_API bool | PrepareDestroy_GameThread () |
| |
| virtual ENGINE_API void | PrepareDestroy_RenderThread () |
| |
| ENGINE_API bool | CacheShaders (EShaderPlatform Platform, EMaterialShaderPrecompileMode PrecompileMode=EMaterialShaderPrecompileMode::Default, const ITargetPlatform *TargetPlatform=nullptr) |
| |
| ENGINE_API bool | CacheShaders (EMaterialShaderPrecompileMode PrecompileMode=EMaterialShaderPrecompileMode::Default, const ITargetPlatform *TargetPlatform=nullptr) |
| |
| ENGINE_API bool | CacheShaders (const FMaterialShaderMapId &ShaderMapId, EShaderPlatform Platform, EMaterialShaderPrecompileMode PrecompileMode=EMaterialShaderPrecompileMode::Default, const ITargetPlatform *TargetPlatform=nullptr) |
| |
| ENGINE_API bool | CacheShaders (const FMaterialShaderMapId &ShaderMapId, EMaterialShaderPrecompileMode PrecompileMode=EMaterialShaderPrecompileMode::Default, const ITargetPlatform *TargetPlatform=nullptr) |
| |
| ENGINE_API FGraphEventArray | CollectPSOs (ERHIFeatureLevel::Type InFeatureLevel, const FPSOPrecacheVertexFactoryDataList &VertexFactoryDataList, const FPSOPrecacheParams &PreCacheParams, EPSOPrecachePriority Priority, TArray< FMaterialPSOPrecacheRequestID > &OutMaterialPSORequestIDs) |
| |
| ENGINE_API FGraphEventArray | CollectPSOs (const FPSOPrecacheVertexFactoryDataList &VertexFactoryDataList, const FPSOPrecacheParams &PreCacheParams, EPSOPrecachePriority Priority, TArray< FMaterialPSOPrecacheRequestID > &OutMaterialPSORequestIDs) |
| |
| ENGINE_API TArray< FMaterialPSOPrecacheRequestID > | GetMaterialPSOPrecacheRequestIDs () const |
| |
| void | ClearPrecachedPSORequestIDs () |
| |
| virtual ENGINE_API bool | ShouldCache (EShaderPlatform Platform, const FShaderType *ShaderType, const FVertexFactoryType *VertexFactoryType) const final |
| |
| virtual ENGINE_API bool | ShouldCache (const FShaderType *ShaderType, const FVertexFactoryType *VertexFactoryType) const |
| |
| ENGINE_API bool | ShouldCachePipeline (EShaderPlatform Platform, const FShaderPipelineType *PipelineType, const FVertexFactoryType *VertexFactoryType) const |
| |
| ENGINE_API bool | ShouldCachePipeline (const FShaderPipelineType *PipelineType, const FVertexFactoryType *VertexFactoryType) const |
| |
| virtual ENGINE_API void | LegacySerialize (FArchive &Ar) |
| |
| void | SerializeInlineShaderMap (FArchive &Ar, const FName &SerializingAsset=NAME_None) |
| |
| void | RegisterInlineShaderMap (bool bLoadingCooked) |
| |
| void | ReleaseShaderMap () |
| |
| void | DiscardShaderMap () |
| |
| virtual void | GetShaderMapId (EShaderPlatform Platform, const ITargetPlatform *TargetPlatform, FMaterialShaderMapId &OutId) const |
| |
| void | BuildShaderMapId (FMaterialShaderMapId &OutId, EShaderPlatform Platform, const ITargetPlatform *TargetPlatform, EMaterialKeyInclude IncludeFlags=EMaterialKeyInclude::All) const |
| |
| void | BuildShaderMapId (FMaterialShaderMapId &OutId, const ITargetPlatform *TargetPlatform, EMaterialKeyInclude IncludeFlags=EMaterialKeyInclude::All) const |
| |
| virtual EMaterialDomain | GetMaterialDomain () const =0 |
| |
| virtual bool | IsTwoSided () const =0 |
| |
| virtual bool | IsThinSurface () const =0 |
| |
| virtual bool | IsDitheredLODTransition () const =0 |
| |
| virtual bool | IsTranslucencyWritingCustomDepth () const |
| |
| virtual bool | IsTranslucencyWritingVelocity () const |
| |
| virtual bool | IsTranslucencyVelocityFromDepth () const |
| |
| virtual bool | IsTranslucencyWritingFrontLayerTransparency () const |
| |
| virtual bool | IsTangentSpaceNormal () const |
| |
| virtual bool | ShouldGenerateSphericalParticleNormals () const |
| |
| virtual bool | ShouldDisableDepthTest () const |
| |
| virtual bool | ShouldWriteOnlyAlpha () const |
| |
| virtual bool | ShouldEnableResponsiveAA () const |
| |
| virtual bool | ShouldDoSSR () const |
| |
| virtual bool | ShouldDoContactShadows () const |
| |
| virtual bool | HasPixelAnimation () const |
| |
| virtual bool | UsesTemporalResponsiveness () const |
| |
| virtual bool | UsesMotionVectorWorldOffset () const |
| |
| virtual bool | IsLightFunction () const =0 |
| |
| virtual bool | IsUsedWithEditorCompositing () const |
| |
| virtual bool | IsDeferredDecal () const =0 |
| |
| virtual bool | IsUIMaterial () const =0 |
| |
| virtual bool | IsVolumetricPrimitive () const =0 |
| |
| virtual bool | IsWireframe () const =0 |
| |
| virtual bool | IsPostProcessMaterial () const |
| |
| virtual bool | IsSpecialEngineMaterial () const =0 |
| |
| virtual bool | IsUsedWithSkeletalMesh () const |
| |
| virtual bool | IsUsedWithLandscape () const |
| |
| virtual bool | IsUsedWithParticleSystem () const |
| |
| virtual bool | IsUsedWithParticleSprites () const |
| |
| virtual bool | IsUsedWithBeamTrails () const |
| |
| virtual bool | IsUsedWithMeshParticles () const |
| |
| virtual bool | IsUsedWithNiagaraSprites () const |
| |
| virtual bool | IsUsedWithNiagaraRibbons () const |
| |
| virtual bool | IsUsedWithNiagaraMeshParticles () const |
| |
| virtual bool | IsUsedWithStaticLighting () const |
| |
| virtual bool | IsUsedWithMorphTargets () const |
| |
| virtual bool | IsUsedWithSplineMeshes () const |
| |
| virtual bool | IsUsedWithInstancedStaticMeshes () const |
| |
| virtual bool | IsUsedWithGeometryCollections () const |
| |
| virtual bool | IsUsedWithAPEXCloth () const |
| |
| virtual bool | IsUsedWithNanite () const |
| |
| virtual bool | IsUsedWithVoxels () const |
| |
| virtual bool | IsUsedWithVolumetricCloud () const |
| |
| virtual bool | IsUsedWithHeterogeneousVolumes () const |
| |
| virtual bool | SamplesMaterialCache () const |
| |
| virtual bool | HasMaterialCacheOutput () const |
| |
| virtual bool | IsUsedWithUI () const |
| |
| virtual bool | IsUsedWithGeometryCache () const |
| |
| virtual bool | IsUsedWithWater () const |
| |
| virtual bool | IsUsedWithHairStrands () const |
| |
| virtual bool | IsUsedWithLidarPointCloud () const |
| |
| virtual bool | IsUsedWithVirtualHeightfieldMesh () const |
| |
| virtual bool | IsUsedWithNeuralNetworks () const |
| |
| virtual bool | IsUsedWithStaticMesh () const |
| |
| virtual bool | IsFullyRough () const |
| |
| virtual bool | GetForceCompatibleWithLightFunctionAtlas () const |
| |
| virtual bool | UseNormalCurvatureToRoughness () const |
| |
| virtual enum EMaterialFloatPrecisionMode | GetMaterialFloatPrecisionMode () const |
| |
| virtual bool | IsUsingAlphaToCoverage () const |
| |
| virtual bool | IsUsingPreintegratedGFForSimpleIBL () const |
| |
| virtual bool | IsUsingHQForwardReflections () const |
| |
| virtual bool | GetForwardBlendsSkyLightCubemaps () const |
| |
| virtual bool | IsUsingPlanarForwardReflections () const |
| |
| virtual bool | IsNonmetal () const |
| |
| virtual bool | UseLmDirectionality () const |
| |
| virtual bool | IsMasked () const =0 |
| |
| virtual bool | IsDitherMasked () const |
| |
| virtual bool | AllowNegativeEmissiveColor () const |
| |
| virtual enum EBlendMode | GetBlendMode () const =0 |
| |
| virtual ENGINE_API enum ERefractionMode | GetRefractionMode () const |
| |
| virtual bool | GetRootNodeOverridesDefaultRefraction () const =0 |
| |
| virtual FMaterialShadingModelField | GetShadingModels () const =0 |
| |
| virtual bool | IsShadingModelFromMaterialExpression () const =0 |
| |
| virtual enum ETranslucencyLightingMode | GetTranslucencyLightingMode () const |
| |
| virtual float | GetOpacityMaskClipValue () const =0 |
| |
| virtual bool | GetCastDynamicShadowAsMasked () const =0 |
| |
| virtual bool | IsDistorted () const |
| |
| virtual ERefractionCoverageMode | GetRefractionCoverageMode () const |
| |
| virtual EPixelDepthOffsetMode | GetPixelDepthOffsetMode () const |
| |
| virtual float | GetTranslucencyDirectionalLightingIntensity () const |
| |
| virtual float | GetTranslucentShadowDensityScale () const |
| |
| virtual float | GetTranslucentSelfShadowDensityScale () const |
| |
| virtual float | GetTranslucentSelfShadowSecondDensityScale () const |
| |
| virtual float | GetTranslucentSelfShadowSecondOpacity () const |
| |
| virtual float | GetTranslucentBackscatteringExponent () const |
| |
| virtual FDisplacementScaling | GetDisplacementScaling () const |
| |
| virtual bool | IsDisplacementFadeEnabled () const |
| |
| virtual FDisplacementFadeRange | GetDisplacementFadeRange () const |
| |
| virtual bool | IsTranslucencyAfterDOFEnabled () const |
| |
| virtual bool | IsTranslucencyAfterMotionBlurEnabled () const |
| |
| virtual bool | IsDualBlendingEnabled (EShaderPlatform Platform) const final |
| |
| virtual bool | IsDualBlendingEnabled () const |
| |
| virtual bool | IsMobileSeparateTranslucencyEnabled () const |
| |
| virtual FLinearColor | GetTranslucentMultipleScatteringExtinction () const |
| |
| virtual float | GetTranslucentShadowStartOffset () const |
| |
| virtual float | GetRefractionDepthBiasValue () const |
| |
| virtual bool | ShouldApplyFogging () const |
| |
| virtual bool | ShouldApplyCloudFogging () const |
| |
| virtual bool | ShouldAlwaysEvaluateWorldPositionOffset () const |
| |
| virtual bool | ComputeFogPerPixel () const |
| |
| virtual bool | IsSky () const |
| |
| virtual bool | HasSubstrateRoughnessTracking () const |
| |
| virtual bool | AllowTranslucentLocalLightShadow () const |
| |
| virtual float | GetTranslucentLocalLightShadowQuality () const |
| |
| virtual float | GetTranslucentDirectionalLightShadowQuality () const |
| |
| virtual FString | GetFriendlyName () const =0 |
| |
| virtual FString | GetAssetName () const |
| |
| FString | GetUniqueAssetName (EShaderPlatform Platform, const FMaterialShaderMapId &ShaderMapId) const |
| |
| FString | GetUniqueAssetName (const FMaterialShaderMapId &ShaderMapId) const |
| |
| virtual bool | HasVertexPositionOffsetConnected () const |
| |
| virtual bool | HasPixelDepthOffsetConnected () const |
| |
| virtual uint32 | GetMaterialDecalResponse () const |
| |
| virtual bool | HasBaseColorConnected () const |
| |
| virtual bool | HasNormalConnected () const |
| |
| virtual bool | HasRoughnessConnected () const |
| |
| virtual bool | HasSpecularConnected () const |
| |
| virtual bool | HasMetallicConnected () const |
| |
| virtual bool | HasEmissiveColorConnected () const |
| |
| virtual bool | HasAnisotropyConnected () const |
| |
| virtual bool | HasAmbientOcclusionConnected () const |
| |
| virtual bool | HasMaterialPropertyConnected (EMaterialProperty In) const |
| |
| virtual bool | HasDisplacementConnected () const |
| |
| virtual bool | IsSubstrateMaterial () const |
| |
| virtual bool | RequiresSynchronousCompilation () const |
| |
| virtual bool | IsDefaultMaterial () const |
| |
| virtual int32 | GetNumCustomizedUVs () const |
| |
| virtual int32 | GetNumMaterialCacheTags () const |
| |
| virtual int32 | GetBlendableLocation () const |
| |
| virtual int32 | GetBlendablePriority () const |
| |
| virtual bool | GetBlendableOutputAlpha () const |
| |
| virtual bool | GetDisablePreExposureScale () const |
| |
| virtual bool | IsStencilTestEnabled () const |
| |
| virtual uint32 | GetStencilRefValue () const |
| |
| virtual uint32 | GetStencilCompare () const |
| |
| virtual bool | HasPerInstanceCustomData () const |
| |
| virtual bool | HasPerInstanceRandom () const |
| |
| virtual bool | HasVertexInterpolator () const |
| |
| virtual bool | HasRuntimeVirtualTextureOutput () const |
| |
| virtual bool | HasFirstPersonOutput () const |
| |
| virtual bool | CastsRayTracedShadows () const |
| |
| virtual bool | IsTessellationEnabled () const |
| |
| virtual bool | HasRenderTracePhysicalMaterialOutputs () const |
| |
| virtual uint16 | GetPreshaderGap () const |
| |
| virtual EMaterialShadingRate | GetShadingRate () const |
| |
| virtual int32 | GetNeuralProfileId () const |
| |
| virtual bool | IsVariableRateShadingAllowed () const |
| |
| virtual void | GetShaderTags (TArray< FName > &OutShaderTags) const |
| |
| virtual EMaterialTranslateValidationFlags | GetMaterialTranslateValidationFlags () const |
| |
| virtual bool | IsPersistent () const =0 |
| |
| virtual UMaterialInterface * | GetMaterialInterface () const |
| |
| FName | GetOwnerFName () const |
| |
| virtual bool | IsPreview () const |
| |
| ENGINE_API const FMaterialCachedExpressionData & | GetCachedExpressionData () const |
| |
| ENGINE_API bool | IsRequiredComplete () const |
| |
| ENGINE_API bool | HasValidGameThreadShaderMap () const |
| |
| bool | ShouldCastDynamicShadows () const |
| |
| EMaterialQualityLevel::Type | GetQualityLevel () const |
| |
| ENGINE_API const FUniformExpressionSet & | GetUniformExpressions () const |
| |
| ENGINE_API TArrayView< const FMaterialTextureParameterInfo > | GetUniformTextureExpressions (EMaterialTextureParameterType Type) const |
| |
| ENGINE_API TConstArrayView< FMaterialTextureCollectionParameterInfo > | GetUniformTextureCollectionExpressions () const |
| |
| ENGINE_API TArrayView< const FMaterialNumericParameterInfo > | GetUniformNumericParameterExpressions () const |
| |
| TArrayView< const FMaterialTextureParameterInfo > | GetUniform2DTextureExpressions () const |
| |
| TArrayView< const FMaterialTextureParameterInfo > | GetUniformCubeTextureExpressions () const |
| |
| TArrayView< const FMaterialTextureParameterInfo > | GetUniform2DArrayTextureExpressions () const |
| |
| TArrayView< const FMaterialTextureParameterInfo > | GetUniformVolumeTextureExpressions () const |
| |
| TArrayView< const FMaterialTextureParameterInfo > | GetUniformVirtualTextureExpressions () const |
| |
| TArrayView< const FMaterialTextureParameterInfo > | GetUniformSparseVolumeTextureExpressions () const |
| |
| const FStaticFeatureLevel | GetFeatureLevel () const |
| |
| const EShaderPlatform | GetShaderPlatform () const |
| |
| bool | GetUsesDynamicParameter () const |
| |
| ENGINE_API bool | RequiresSceneColorCopy_GameThread () const |
| |
| ENGINE_API bool | RequiresSceneColorCopy_RenderThread () const |
| |
| ENGINE_API bool | NeedsSceneTextures () const |
| |
| ENGINE_API bool | NeedsGBuffer () const |
| |
| ENGINE_API bool | UsesEyeAdaptation () const |
| |
| ENGINE_API bool | UsesGlobalDistanceField_GameThread () const |
| |
| ENGINE_API bool | MaterialUsesWorldPositionOffset_RenderThread () const |
| |
| ENGINE_API bool | MaterialUsesWorldPositionOffset_GameThread () const |
| |
| ENGINE_API bool | MaterialUsesDisplacement_RenderThread () const |
| |
| ENGINE_API bool | MaterialUsesDisplacement_GameThread () const |
| |
| ENGINE_API bool | MaterialUsesPixelDepthOffset_RenderThread () const |
| |
| ENGINE_API bool | MaterialUsesPixelDepthOffset_GameThread () const |
| |
| ENGINE_API bool | MaterialUsesTemporalResponsiveness_RenderThread () const |
| |
| ENGINE_API bool | MaterialUsesTemporalResponsiveness_GameThread () const |
| |
| ENGINE_API bool | MaterialUsesMotionVectorWorldOffset_RenderThread () const |
| |
| ENGINE_API bool | MaterialUsesMotionVectorWorldOffset_GameThread () const |
| |
| ENGINE_API bool | MaterialModifiesMeshPosition_RenderThread () const |
| |
| ENGINE_API bool | MaterialModifiesMeshPosition_GameThread () const |
| |
| ENGINE_API bool | MaterialUsesDistanceCullFade_GameThread () const |
| |
| ENGINE_API bool | MaterialUsesSceneDepthLookup_RenderThread () const |
| |
| ENGINE_API bool | MaterialUsesSceneDepthLookup_GameThread () const |
| |
| ENGINE_API uint8 | GetCustomDepthStencilUsageMask_GameThread () const |
| |
| ENGINE_API bool | MaterialMayModifyMeshPosition () const |
| |
| ENGINE_API uint8 | GetRuntimeVirtualTextureOutputAttibuteMask_GameThread () const |
| |
| ENGINE_API uint8 | GetRuntimeVirtualTextureOutputAttibuteMask_RenderThread () const |
| |
| ENGINE_API bool | MaterialUsesAnisotropy_GameThread () const |
| |
| ENGINE_API bool | MaterialUsesAnisotropy_RenderThread () const |
| |
| ENGINE_API bool | MaterialIsLightFunctionAtlasCompatible_GameThread () const |
| |
| ENGINE_API bool | MaterialIsLightFunctionAtlasCompatible_RenderThread () const |
| |
| ENGINE_API uint8 | MaterialGetSubstrateMaterialType_GameThread () const |
| |
| ENGINE_API uint8 | MaterialGetSubstrateMaterialType_RenderThread () const |
| |
| ENGINE_API uint8 | MaterialGetSubstrateClosureCount_GameThread () const |
| |
| ENGINE_API uint8 | MaterialGetSubstrateClosureCount_RenderThread () const |
| |
| ENGINE_API uint8 | MaterialGetSubstrateUintPerPixel_GameThread () const |
| |
| ENGINE_API uint8 | MaterialGetSubstrateUintPerPixel_RenderThread () const |
| |
| ENGINE_API ESubstrateTileType | MaterialGetSubstrateTileType_GameThread () const |
| |
| ENGINE_API ESubstrateTileType | MaterialGetSubstrateTileType_RenderThread () const |
| |
| ENGINE_API ESubstrateBsdfFeature | MaterialGetSubstrateMaterialBsdfFeatures_GameThread () const |
| |
| ENGINE_API ESubstrateBsdfFeature | MaterialGetSubstrateMaterialBsdfFeatures_RenderThread () const |
| |
| class FMaterialShaderMap * | GetGameThreadShaderMap () const |
| |
| ENGINE_API void | SetGameThreadShaderMap (FMaterialShaderMap *InMaterialShaderMap) |
| |
| ENGINE_API void | SetInlineShaderMap (FMaterialShaderMap *InMaterialShaderMap) |
| |
| ENGINE_API void | UpdateInlineShaderMapIsComplete () |
| |
| ENGINE_API class FMaterialShaderMap * | GetRenderingThreadShaderMap () const |
| |
| bool | IsGameThreadShaderMapComplete () const |
| |
| bool | IsRenderingThreadShaderMapComplete () const |
| |
| ENGINE_API void | SetRenderingThreadShaderMap (TRefCountPtr< FMaterialShaderMap > &InMaterialShaderMap) |
| |
| virtual ENGINE_API void | AddReferencedObjects (FReferenceCollector &Collector) |
| |
| virtual TArrayView< const TObjectPtr< UObject > > | GetReferencedTextures () const =0 |
| |
| virtual TConstArrayView< TObjectPtr< UTextureCollection > > | GetReferencedTextureCollections () const =0 |
| |
| template<typename ShaderType > |
| TShaderRef< ShaderType > | GetShader (FVertexFactoryType *VertexFactoryType, const typename ShaderType::FPermutationDomain &PermutationVector, bool bFatalIfMissing=true) const |
| |
| template<typename ShaderType > |
| TShaderRef< ShaderType > | GetShader (FVertexFactoryType *VertexFactoryType, int32 PermutationId=0, bool bFatalIfMissing=true) const |
| |
| ENGINE_API FShaderPipelineRef | GetShaderPipeline (class FShaderPipelineType *ShaderPipelineType, FVertexFactoryType *VertexFactoryType, bool bFatalIfNotFound=true) const |
| |
| ENGINE_API bool | TryGetShaders (const FMaterialShaderTypes &InTypes, const FVertexFactoryType *InVertexFactoryType, FMaterialShaders &OutShaders) const |
| |
| ENGINE_API bool | HasShaders (const FMaterialShaderTypes &InTypes, const FVertexFactoryType *InVertexFactoryType) const |
| |
| ENGINE_API bool | ShouldCacheShaders (const EShaderPlatform ShaderPlatform, const FMaterialShaderTypes &InTypes, const FVertexFactoryType *InVertexFactoryType) const |
| |
| ENGINE_API bool | ShouldCacheShaders (const FMaterialShaderTypes &InTypes, const FVertexFactoryType *InVertexFactoryType) const |
| |
| virtual FString | GetMaterialUsageDescription () const =0 |
| |
| virtual bool | GetAllowDevelopmentShaderCompile () const |
| |
| virtual EMaterialShaderMapUsage::Type | GetMaterialShaderMapUsage () const |
| |
| ENGINE_API bool | GetMaterialExpressionSource (FString &OutSource) |
| |
| ENGINE_API void | GetPreshaderStats (uint32 &TotalParameters, uint32 &TotalOps) const |
| |
| ENGINE_API bool | WritesEveryPixel (bool bShadowPass=false) const |
| |
| ENGINE_API bool | WritesEveryPixel (bool bShadowPass, bool bVFTypeSupportsNullPixelShader) const |
| |
| virtual void | SetupExtraCompilationSettings (const EShaderPlatform Platform, FExtraShaderCompilerSettings &Settings) const final |
| |
| virtual void | SetupExtraCompilationSettings (FExtraShaderCompilerSettings &Settings) const |
| |
| void | DumpDebugInfo (FOutputDevice &OutputDevice) |
| |
| void | SaveShaderStableKeys (EShaderPlatform TargetShaderPlatform, struct FStableShaderKeyAndValue &SaveKeyVal) |
| |
| void | SaveShaderStableKeys (struct FStableShaderKeyAndValue &SaveKeyVal) |
| |
| virtual FString | GetFullPath () const |
| |
| void | SetOwnerBeginDestroyed () |
| |
| bool | IsOwnerBeginDestroyed () const |
| |
| virtual void | FeedbackMaterialLayersInstancedGraphFromCompilation (const FMaterialLayersFunctions *InLayers) |
| |
| virtual const FMaterialLayersFunctions * | GetMaterialLayers () const |
| |
FMaterial serves 3 intertwined purposes: Represents a material to the material compilation process, and provides hooks for extensibility (CompileProperty, etc) Represents a material to the renderer, with functions to access material properties Stores a cached shader map, and other transient output from a compile, which is necessary with async shader compiling (when a material finishes async compilation, the shader map and compile errors need to be stored somewhere)