UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FDynamicRenderAssetInstanceManager Class Reference

#include <DynamicTextureInstanceManager.h>

+ Inheritance diagram for FDynamicRenderAssetInstanceManager:

Public Types

using FOnSyncDoneDelegate = TFunction< void(const FRemovedRenderAssetArray &)>
 

Public Member Functions

 FDynamicRenderAssetInstanceManager (FOnSyncDoneDelegate &&InOnSyncDoneDelegate)
 
 ~FDynamicRenderAssetInstanceManager ()
 
void RegisterTasks (RenderAssetInstanceTask::FDoWorkTask &AsyncTask)
 
void IncrementalUpdate (FRemovedRenderAssetArray &RemovedRenderAssets, float Percentage)
 
void GetReferencedComponents (TArray< const UPrimitiveComponent * > &Components)
 
void OnPreGarbageCollect (FRemovedRenderAssetArray &RemovedRenderAssets)
 
bool IsReferenced (const UPrimitiveComponent *Component) const final
 
bool CanManage (const UPrimitiveComponent *Component) const final override
 
EAddComponentResult Add (const UPrimitiveComponent *Component, FStreamingTextureLevelContext &LevelContext, float MaxAllowedUIDensity=0) final override
 
void Remove (const UPrimitiveComponent *Component, FRemovedRenderAssetArray *RemovedRenderAssets) final override
 
void PrepareAsyncView () final override
 
const FRenderAssetInstanceViewGetAsyncView (bool bCreateIfNull) final override
 
uint32 GetAllocatedSize () const final override
 
const FRenderAssetInstanceViewGetGameThreadView ()
 
- Public Member Functions inherited from IRenderAssetInstanceManager
virtual ~IRenderAssetInstanceManager ()
 

Protected Member Functions

void Refresh (float Percentage) final override
 
void OnCreateViewDone (FRenderAssetInstanceView *InView)
 
void OnRefreshVisibilityDone (int32 BeginIndex, int32 EndIndex, const TArray< int32 > &SkippedIndices, int32 FirstFreeBound, int32 LastUsedBound)
 

Detailed Description

A texture/mesh instance manager to manage dynamic components. The async view generated is duplicated so that the state can change freely.

Member Typedef Documentation

◆ FOnSyncDoneDelegate

Constructor & Destructor Documentation

◆ FDynamicRenderAssetInstanceManager()

FDynamicRenderAssetInstanceManager::FDynamicRenderAssetInstanceManager ( FOnSyncDoneDelegate &&  InOnSyncDoneDelegate)

Contructor.

◆ ~FDynamicRenderAssetInstanceManager()

FDynamicRenderAssetInstanceManager::~FDynamicRenderAssetInstanceManager ( )

Member Function Documentation

◆ Add()

EAddComponentResult FDynamicRenderAssetInstanceManager::Add ( const UPrimitiveComponent *  Component,
FStreamingTextureLevelContext LevelContext,
float  MaxAllowedUIDensity = 0 
)
finaloverridevirtual

Add a component streaming data, the LevelContext gives support for precompiled data.

Implements IRenderAssetInstanceManager.

◆ CanManage()

bool FDynamicRenderAssetInstanceManager::CanManage ( const UPrimitiveComponent *  Component) const
finaloverridevirtual

Return whether this component is be managed by this manager.

Implements IRenderAssetInstanceManager.

◆ GetAllocatedSize()

uint32 FDynamicRenderAssetInstanceManager::GetAllocatedSize ( ) const
finaloverridevirtual

Return the size taken for sub-allocation.

Implements IRenderAssetInstanceManager.

◆ GetAsyncView()

const FRenderAssetInstanceView * FDynamicRenderAssetInstanceManager::GetAsyncView ( bool  bCreateIfNull)
finaloverridevirtual

Return a view of the data that has to be 100% thread safe. The content is allowed to be updated, but not memory must be reallocated.

Implements IRenderAssetInstanceManager.

◆ GetGameThreadView()

const FRenderAssetInstanceView * FDynamicRenderAssetInstanceManager::GetGameThreadView ( )

◆ GetReferencedComponents()

void FDynamicRenderAssetInstanceManager::GetReferencedComponents ( TArray< const UPrimitiveComponent * > &  Components)

◆ IncrementalUpdate()

void FDynamicRenderAssetInstanceManager::IncrementalUpdate ( FRemovedRenderAssetArray RemovedRenderAssets,
float  Percentage 
)

◆ IsReferenced()

bool FDynamicRenderAssetInstanceManager::IsReferenced ( const UPrimitiveComponent *  Component) const
finalvirtual

Return whether this component can be managed by this manager.

Implements IRenderAssetInstanceManager.

◆ OnCreateViewDone()

void FDynamicRenderAssetInstanceManager::OnCreateViewDone ( FRenderAssetInstanceView InView)
protected

◆ OnPreGarbageCollect()

void FDynamicRenderAssetInstanceManager::OnPreGarbageCollect ( FRemovedRenderAssetArray RemovedRenderAssets)

Remove all pending components that are marked for delete. This prevents searching in the pending list for each entry.

◆ OnRefreshVisibilityDone()

void FDynamicRenderAssetInstanceManager::OnRefreshVisibilityDone ( int32  BeginIndex,
int32  EndIndex,
const TArray< int32 > &  SkippedIndices,
int32  FirstFreeBound,
int32  LastUsedBound 
)
protected

◆ PrepareAsyncView()

void FDynamicRenderAssetInstanceManager::PrepareAsyncView ( )
finaloverridevirtual

Notify the manager that an async view will be requested on the next frame.

Implements IRenderAssetInstanceManager.

◆ Refresh()

void FDynamicRenderAssetInstanceManager::Refresh ( float  Percentage)
finaloverrideprotectedvirtual

Refresh component data (bounds, last render time, min and max view distance) - see TextureInstanceView.

Implements IRenderAssetInstanceManager.

◆ RegisterTasks()

void FDynamicRenderAssetInstanceManager::RegisterTasks ( RenderAssetInstanceTask::FDoWorkTask AsyncTask)

◆ Remove()

void FDynamicRenderAssetInstanceManager::Remove ( const UPrimitiveComponent *  Component,
FRemovedRenderAssetArray RemovedRenderAssets 
)
finaloverridevirtual

Remove a component, the RemovedRenderAssets is the list of textures or meshes not referred anymore.

Implements IRenderAssetInstanceManager.


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