72 return Elements[
Index];
186 return DeletedFlag != 0;
191 MarkedForGarbageCollection = -1;
196 return MarkedForGarbageCollection != 0;
201 bMarkedTransient = 1;
212 check(!FPlatformProperties::RequiresCookedData());
261 virtual void StartCacheUniformExpressions()
const {}
262 virtual void FinishCacheUniformExpressions()
const {}
270 FString MaterialName;
273 mutable int32 UniformExpressionCacheSerialNumber = 0;
276 mutable uint8 MarkedForGarbageCollection : 1;
277 mutable uint8 DeletedFlag : 1;
278 mutable uint8 ReleaseResourceFlag : 1;
280 uint8 bMarkedTransient : 1;
282 mutable uint8 bHasVirtualTextureCallbacks : 1;
283 mutable uint8 bHasMaterialCacheCallbacks : 1;
#define NULL
Definition oodle2base.h:134
#define check(expr)
Definition AssertionMacros.h:314
EBlendableLocation
Definition BlendableInterface.h:15
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
EMaterialParameterType
Definition MaterialParameters.h:187
Definition MaterialRenderProxy.h:309
FName ColorParamName
Definition MaterialRenderProxy.h:313
virtual ENGINE_API bool GetParameterValue(EMaterialParameterType Type, const FHashedMaterialParameterInfo &ParameterInfo, FMaterialParameterValue &OutValue, const FMaterialRenderContext &Context) const override
Definition MaterialRenderProxy.cpp:961
const FLinearColor Color
Definition MaterialRenderProxy.h:312
const FMaterialRenderProxy *const Parent
Definition MaterialRenderProxy.h:311
virtual ENGINE_API const FMaterialRenderProxy * GetFallback(ERHIFeatureLevel::Type InFeatureLevel) const override
Definition MaterialRenderProxy.cpp:956
virtual ENGINE_API const FMaterial * GetMaterialNoFallback(ERHIFeatureLevel::Type InFeatureLevel) const override
Definition MaterialRenderProxy.cpp:951
Definition MaterialRenderProxy.h:328
virtual ENGINE_API bool GetParameterValue(EMaterialParameterType Type, const FHashedMaterialParameterInfo &ParameterInfo, FMaterialParameterValue &OutValue, const FMaterialRenderContext &Context) const override
Definition MaterialRenderProxy.cpp:985
FName TextureParamName
Definition MaterialRenderProxy.h:331
float UVChannel
Definition MaterialRenderProxy.h:332
const UTexture * Texture
Definition MaterialRenderProxy.h:330
FName UVChannelParamName
Definition MaterialRenderProxy.h:333
Definition MaterialRenderProxy.h:363
const FVector2D LightmapResolution
Definition MaterialRenderProxy.h:365
virtual ENGINE_API bool GetParameterValue(EMaterialParameterType Type, const FHashedMaterialParameterInfo &ParameterInfo, FMaterialParameterValue &OutValue, const FMaterialRenderContext &Context) const override
Definition MaterialRenderProxy.cpp:1053
Definition MaterialRenderProxy.h:102
virtual ENGINE_API void InitRHI(FRHICommandListBase &RHICmdList) override
Definition MaterialRenderProxy.cpp:740
const UNeuralProfile * GetNeuralProfileRT() const
Definition MaterialRenderProxy.h:243
const USpecularProfile * GetSpecularProfileOverrideRT() const
Definition MaterialRenderProxy.h:239
ENGINE_API void CacheUniformExpressions(FRHICommandListBase &RHICmdList, bool bRecreateUniformBuffer)
Definition MaterialRenderProxy.cpp:590
ENGINE_API void InvalidateUniformExpressionCache(bool bRecreateUniformBuffer)
Definition MaterialRenderProxy.cpp:634
void SetNeuralProfileRT(const UNeuralProfile *Ptr)
Definition MaterialRenderProxy.h:242
bool IsDeleted() const
Definition MaterialRenderProxy.h:184
bool IsMarkedForGarbageCollection() const
Definition MaterialRenderProxy.h:194
FImmutableSamplerState ImmutableSamplerState
Definition MaterialRenderProxy.h:109
virtual ENGINE_API void EvaluateParameterCollections(FRHICommandListBase &RHICmdList, FUniformExpressionCache &OutUniformExpressionCache, const FMaterialRenderContext &Context, FUniformExpressionCacheAsyncUpdater *Updater) const
Definition MaterialRenderProxy.cpp:581
void SetSpecularProfileOverrideRT(const USpecularProfile *Ptr)
Definition MaterialRenderProxy.h:238
ENGINE_API bool GetTextureValue(const FHashedMaterialParameterInfo &ParameterInfo, const UTexture **OutValue, const FMaterialRenderContext &Context) const
Definition MaterialRenderProxy.cpp:218
const USubsurfaceProfile * GetSubsurfaceProfileRT(uint32 Index) const
Definition MaterialRenderProxy.h:230
virtual bool GetUserSceneTextureOverride(FName &InOutValue) const
Definition MaterialRenderProxy.h:178
virtual const FMaterial * GetMaterialNoFallback(ERHIFeatureLevel::Type InFeatureLevel) const =0
const uint32 NumSubsurfaceProfileRT() const
Definition MaterialRenderProxy.h:231
virtual UMaterialInterface * GetMaterialInterface() const
Definition MaterialRenderProxy.h:167
ENGINE_API bool GetVectorValue(const FHashedMaterialParameterInfo &ParameterInfo, FLinearColor *OutValue, const FMaterialRenderContext &Context) const
Definition MaterialRenderProxy.cpp:196
void ClearSubsurfaceProfileRT()
Definition MaterialRenderProxy.h:228
virtual ENGINE_API void ReleaseResource() override
Definition MaterialRenderProxy.cpp:784
virtual bool GetParameterValue(EMaterialParameterType Type, const FHashedMaterialParameterInfo &ParameterInfo, FMaterialParameterValue &OutValue, const FMaterialRenderContext &Context) const =0
ENGINE_API void CacheUniformExpressions_GameThread(bool bRecreateUniformBuffer)
Definition MaterialRenderProxy.cpp:619
ENGINE_API bool GetTextureCollectionValue(const FHashedMaterialParameterInfo &ParameterInfo, const UTextureCollection **OutValue, const FMaterialRenderContext &Context) const
Definition MaterialRenderProxy.cpp:251
ENGINE_API bool GetScalarValue(const FHashedMaterialParameterInfo &ParameterInfo, float *OutValue, const FMaterialRenderContext &Context) const
Definition MaterialRenderProxy.cpp:207
const FString & GetMaterialName() const
Definition MaterialRenderProxy.h:252
static ENGINE_API bool HasDeferredUniformExpressionCacheRequests()
Definition MaterialRenderProxy.cpp:926
void AddSpecularProfileRT(const USpecularProfile *Ptr)
Definition MaterialRenderProxy.h:234
ENGINE_API void CancelCacheUniformExpressions()
Definition MaterialRenderProxy.cpp:752
FUniformExpressionCacheContainer UniformExpressionCache
Definition MaterialRenderProxy.h:106
virtual ENGINE_API ~FMaterialRenderProxy()
Definition MaterialRenderProxy.cpp:711
virtual ENGINE_API int32 GetBlendablePriority(const FMaterial *Base) const
Definition MaterialRenderProxy.cpp:308
ENGINE_API const FMaterial & GetMaterialWithFallback(ERHIFeatureLevel::Type InFeatureLevel, const FMaterialRenderProxy *&OutFallbackMaterialRenderProxy) const
Definition MaterialRenderProxy.cpp:803
ENGINE_API void UpdateUniformExpressionCacheIfNeeded(ERHIFeatureLevel::Type InFeatureLevel) const
Definition MaterialRenderProxy.cpp:695
int32 GetExpressionCacheSerialNumber() const
Definition MaterialRenderProxy.h:250
virtual ENGINE_API EBlendableLocation GetBlendableLocation(const FMaterial *Base) const
Definition MaterialRenderProxy.cpp:302
const USubsurfaceProfile * GetSubsurfaceProfileRT() const
Definition MaterialRenderProxy.h:225
ENGINE_API const FMaterial & GetIncompleteMaterialWithFallback(ERHIFeatureLevel::Type InFeatureLevel) const
Definition MaterialRenderProxy.cpp:828
virtual ENGINE_API void ReleaseRHI() override
Definition MaterialRenderProxy.cpp:759
const USpecularProfile * GetSpecularProfileRT(uint32 Index) const
Definition MaterialRenderProxy.h:235
void AddSubsurfaceProfileRT(const USubsurfaceProfile *Ptr)
Definition MaterialRenderProxy.h:229
void MarkForGarbageCollection()
Definition MaterialRenderProxy.h:189
void MarkTransient()
Definition MaterialRenderProxy.h:199
ENGINE_API bool GetParameterCollectionValue(const FHashedMaterialParameterInfo &ParameterInfo, const UMaterialParameterCollection **OutValue, const FMaterialRenderContext &Context) const
Definition MaterialRenderProxy.cpp:262
ENGINE_API bool GetParameterShaderValue(EMaterialParameterType Type, const FHashedMaterialParameterInfo &ParameterInfo, UE::Shader::FValue &OutValue, const FMaterialRenderContext &Context) const
Definition MaterialRenderProxy.cpp:273
const uint32 NumSpecularProfileRT() const
Definition MaterialRenderProxy.h:236
void SetSubsurfaceProfileRT(const USubsurfaceProfile *Ptr)
Definition MaterialRenderProxy.h:224
virtual const FMaterialRenderProxy * GetFallback(ERHIFeatureLevel::Type InFeatureLevel) const =0
ENGINE_API void EvaluateUniformExpressions(FRHICommandListBase &RHICmdList, FUniformExpressionCache &OutUniformExpressionCache, const FMaterialRenderContext &Context, FUniformExpressionCacheAsyncUpdater *Updater=nullptr) const
Definition MaterialRenderProxy.cpp:438
static ENGINE_API void UpdateDeferredCachedUniformExpressions()
Definition MaterialRenderProxy.cpp:921
ENGINE_API FName GetUserSceneTextureOutput(const FMaterial *Base) const
Definition MaterialRenderProxy.cpp:284
Definition MaterialShared.h:1518
Definition MaterialShared.h:383
Definition MaterialShared.h:2058
Definition NameTypes.h:617
Definition UnrealTemplate.h:321
Definition MaterialRenderProxy.h:345
const FLinearColor SelectionColor
Definition MaterialRenderProxy.h:348
virtual ENGINE_API const FMaterialRenderProxy * GetFallback(ERHIFeatureLevel::Type InFeatureLevel) const override
Definition MaterialRenderProxy.cpp:1023
virtual ENGINE_API bool GetParameterValue(EMaterialParameterType Type, const FHashedMaterialParameterInfo &ParameterInfo, FMaterialParameterValue &OutValue, const FMaterialRenderContext &Context) const override
Definition MaterialRenderProxy.cpp:1028
const FMaterialRenderProxy *const Parent
Definition MaterialRenderProxy.h:347
virtual ENGINE_API const FMaterial * GetMaterialNoFallback(ERHIFeatureLevel::Type InFeatureLevel) const override
Definition MaterialRenderProxy.cpp:1018
Definition RHICommandList.h:455
Definition RHICommandList.h:2735
Definition RenderResource.h:37
Definition VirtualTexturing.h:374
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
void Empty(SizeType Slack=0)
Definition Array.h:2273
Definition MaterialInterface.h:296
Definition MaterialParameterCollection.h:79
Definition NeuralProfile.h:141
Definition RuntimeVirtualTexture.h:18
Definition SparseVolumeTexture.h:309
Definition SpecularProfile.h:74
Definition SubsurfaceProfile.h:170
Definition TextureCollection.h:47
Definition Texture.h:1219
Type
Definition RHIFeatureLevel.h:20
@ Num
Definition RHIFeatureLevel.h:54
Definition SparseVolumeTexture.h:19
U16 Index
Definition radfft.cpp:71
Definition RHIImmutableSamplerState.h:17
Definition MaterialParameters.h:341
Definition MaterialShared.h:349
Definition MaterialParameters.h:96
Definition ShaderTypes.h:368