UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IMaterialCacheTagProvider Class Referenceabstract

#include <IMaterialCacheTagProvider.h>

+ Inheritance diagram for IMaterialCacheTagProvider:

Public Member Functions

virtual ~IMaterialCacheTagProvider ()=default
 
virtual FMaterialCacheTagBindingData GetBindingData (const FGuid &Guid)=0
 
virtual FMaterialCacheTagUniformData GetUniformData (const FGuid &Guid)=0
 
virtual void Register (FSceneInterface *Scene, FPrimitiveComponentId PrimitiveComponentId, const FMaterialCacheTagLayout &TagLayout, IAllocatedVirtualTexture *VirtualTexture)=0
 
virtual void Unregister (FSceneInterface *Scene, FPrimitiveComponentId PrimitiveComponentId, const FGuid &TagGuid, IAllocatedVirtualTexture *VirtualTexture)=0
 
virtual void Flush (FSceneInterface *Scene, FPrimitiveComponentId PrimitiveComponentId, const FGuid &TagGuid)=0
 
virtual void AddTagSceneInvalidationCallback (const FGuid &TagGuid, FMaterialCacheTagProviderSceneInvalidationDelegate Delegate, void *Baton)=0
 
virtual void RemoveTagSceneInvalidationCallbacks (void *Baton)=0
 
virtual IVirtualTextureCreateProducer (FSceneInterface *Scene, FPrimitiveComponentId PrimitiveComponentId, const FMaterialCacheTagLayout &TagLayout, const FVTProducerDescription &ProducerDesc)=0
 

Detailed Description

Serves as a general interface to decouple rendering

Constructor & Destructor Documentation

◆ ~IMaterialCacheTagProvider()

virtual IMaterialCacheTagProvider::~IMaterialCacheTagProvider ( )
virtualdefault

Member Function Documentation

◆ AddTagSceneInvalidationCallback()

virtual void IMaterialCacheTagProvider::AddTagSceneInvalidationCallback ( const FGuid TagGuid,
FMaterialCacheTagProviderSceneInvalidationDelegate  Delegate,
void Baton 
)
pure virtual

Add a callback for whenever the tag scene bindings / data has changed

Parameters
TagGuidThe tag to subscribe to
DelegateDelegate to be called on invalidations
BatonBaton to pass into the callback, also used for broad deregistration

Implemented in FMaterialCacheTagProvider.

◆ CreateProducer()

virtual IVirtualTexture * IMaterialCacheTagProvider::CreateProducer ( FSceneInterface Scene,
FPrimitiveComponentId  PrimitiveComponentId,
const FMaterialCacheTagLayout TagLayout,
const FVTProducerDescription ProducerDesc 
)
pure virtual

Create

Parameters
SceneThe scene the producer renders for
PrimitiveComponentIdThe primitive the producer renders for
TagLayoutGenerated layout of the virtual texture
ProducerDescGeneral producer description
Returns
nullptr if failed

Implemented in FMaterialCacheTagProvider.

◆ Flush()

virtual void IMaterialCacheTagProvider::Flush ( FSceneInterface Scene,
FPrimitiveComponentId  PrimitiveComponentId,
const FGuid TagGuid 
)
pure virtual

Flush all pages of a given tag

Parameters
SceneScene to flush against
PrimitiveComponentIdPrimitive to flush against
TagGuidOptional, null for default tag

Implemented in FMaterialCacheTagProvider.

◆ GetBindingData()

virtual FMaterialCacheTagBindingData IMaterialCacheTagProvider::GetBindingData ( const FGuid Guid)
pure virtual

Get the scene resource binding data for a given tag

Parameters
GuidOptional, null for default tag
Returns
Always valid

Implemented in FMaterialCacheTagProvider.

◆ GetUniformData()

virtual FMaterialCacheTagUniformData IMaterialCacheTagProvider::GetUniformData ( const FGuid Guid)
pure virtual

Get the scene uniform data for a given tag

Parameters
GuidOptional, null for default tag
Returns
Always valid

Implemented in FMaterialCacheTagProvider.

◆ Register()

virtual void IMaterialCacheTagProvider::Register ( FSceneInterface Scene,
FPrimitiveComponentId  PrimitiveComponentId,
const FMaterialCacheTagLayout TagLayout,
IAllocatedVirtualTexture VirtualTexture 
)
pure virtual

Register a new virtual texture for a given primitive

Parameters
SceneThe scene it's registered against
PrimitiveComponentIdThe primitive that is to own the virtual texture
TagLayoutGenerated layout of the virtual texture
VirtualTextureTexture to be registered

Implemented in FMaterialCacheTagProvider.

◆ RemoveTagSceneInvalidationCallbacks()

virtual void IMaterialCacheTagProvider::RemoveTagSceneInvalidationCallbacks ( void Baton)
pure virtual

Remove all tag scene bindings / data listeners

Parameters
BatonBaton whose listeners are to be removed

Implemented in FMaterialCacheTagProvider.

◆ Unregister()

virtual void IMaterialCacheTagProvider::Unregister ( FSceneInterface Scene,
FPrimitiveComponentId  PrimitiveComponentId,
const FGuid TagGuid,
IAllocatedVirtualTexture VirtualTexture 
)
pure virtual

Deregister an existing virtual texture from a given primitive

Parameters
SceneThe scene it's registered against
PrimitiveComponentIdThe primitive that owns the virtual texture
TagGuidOptional, null for default tag
VirtualTextureTexture to be deregistered

Implemented in FMaterialCacheTagProvider.


The documentation for this class was generated from the following file: