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

#include <StaticTextureInstanceManager.h>

+ Inheritance diagram for FStaticRenderAssetInstanceManager:

Public Member Functions

 FStaticRenderAssetInstanceManager (RenderAssetInstanceTask::FDoWorkTask &AsyncTask)
 
 ~FStaticRenderAssetInstanceManager ()
 
void NormalizeLightmapTexelFactor ()
 
FORCEINLINE int32 CompileElements ()
 
FORCEINLINE int32 CheckRegistrationAndUnpackBounds (TArray< const UPrimitiveComponent * > &RemovedComponents)
 
FORCEINLINE FRenderAssetInstanceState::FRenderAssetIterator GetRenderAssetIterator ()
 
FORCEINLINE bool HasRenderAssetReferences () const
 
FORCEINLINE bool IsReferenced (const UPrimitiveComponent *Component) const final override
 
FORCEINLINE void GetReferencedComponents (TArray< const UPrimitiveComponent * > &Components) const
 
bool CanManage (const UPrimitiveComponent *Component) const final override
 
void Refresh (float Percentage) final override
 
EAddComponentResult Add (const UPrimitiveComponent *Component, FStreamingTextureLevelContext &LevelContext, float MaxAllowedUIDensity) final override
 
EAddComponentResult Add (const TArray< FRenderAssetInstanceState::FPreAddComponentPayload > &Payloads, TFunctionRef< void(const FRenderAssetInstanceState::FPreAddComponentPayload &, EAddComponentResult)> OnAddFailedFunc)
 
void Remove (const UPrimitiveComponent *Component, FRemovedRenderAssetArray *RemovedRenderAssets) final override
 
FORCEINLINE void PrepareAsyncView () final override
 
const FRenderAssetInstanceViewGetAsyncView (bool bCreateIfNull) final override
 
bool CanAddComponent () const
 
uint32 GetAllocatedSize () const final override
 
void OffsetBounds (const FVector &Offset)
 
- Public Member Functions inherited from IRenderAssetInstanceManager
virtual ~IRenderAssetInstanceManager ()
 

Protected Member Functions

void OnRefreshVisibilityDone (int32 InBeginIndex, int32 InEndIndex)
 

Detailed Description

A texture/mesh instance manager to manage fully static components. Once an async view has been requested, nothing can be changed as the async view and the internal state point to the same data. This allows for quicker refreshes and also prevent state duplication.

Constructor & Destructor Documentation

◆ FStaticRenderAssetInstanceManager()

FStaticRenderAssetInstanceManager::FStaticRenderAssetInstanceManager ( RenderAssetInstanceTask::FDoWorkTask AsyncTask)

Contructor.

◆ ~FStaticRenderAssetInstanceManager()

FStaticRenderAssetInstanceManager::~FStaticRenderAssetInstanceManager ( )
inline

Member Function Documentation

◆ Add() [1/2]

Add a batch of components streaming data.

◆ Add() [2/2]

EAddComponentResult FStaticRenderAssetInstanceManager::Add ( const UPrimitiveComponent *  Component,
FStreamingTextureLevelContext LevelContext,
float  MaxAllowedUIDensity 
)
finaloverridevirtual

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

Implements IRenderAssetInstanceManager.

◆ CanAddComponent()

bool FStaticRenderAssetInstanceManager::CanAddComponent ( ) const

Returns whether we can add components to the manager.

◆ CanManage()

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

Return whether this component is be managed by this manager.

Implements IRenderAssetInstanceManager.

◆ CheckRegistrationAndUnpackBounds()

FORCEINLINE int32 FStaticRenderAssetInstanceManager::CheckRegistrationAndUnpackBounds ( TArray< const UPrimitiveComponent * > &  RemovedComponents)
inline

◆ CompileElements()

FORCEINLINE int32 FStaticRenderAssetInstanceManager::CompileElements ( )
inline

◆ GetAllocatedSize()

uint32 FStaticRenderAssetInstanceManager::GetAllocatedSize ( ) const
finaloverridevirtual

Return the size taken for sub-allocation.

Implements IRenderAssetInstanceManager.

◆ GetAsyncView()

const FRenderAssetInstanceView * FStaticRenderAssetInstanceManager::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.

◆ GetReferencedComponents()

FORCEINLINE void FStaticRenderAssetInstanceManager::GetReferencedComponents ( TArray< const UPrimitiveComponent * > &  Components) const
inline

Return whether this component can be managed by this manager.

◆ GetRenderAssetIterator()

FORCEINLINE FRenderAssetInstanceState::FRenderAssetIterator FStaticRenderAssetInstanceManager::GetRenderAssetIterator ( )
inline

◆ HasRenderAssetReferences()

FORCEINLINE bool FStaticRenderAssetInstanceManager::HasRenderAssetReferences ( ) const
inline

◆ IsReferenced()

FORCEINLINE bool FStaticRenderAssetInstanceManager::IsReferenced ( const UPrimitiveComponent *  Component) const
inlinefinaloverridevirtual

Return whether this component can be managed by this manager.

Implements IRenderAssetInstanceManager.

◆ NormalizeLightmapTexelFactor()

void FStaticRenderAssetInstanceManager::NormalizeLightmapTexelFactor ( )

Normalize lightmap texel factors, this is ran on an async tasks.

◆ OffsetBounds()

void FStaticRenderAssetInstanceManager::OffsetBounds ( const FVector Offset)

Apply specified offset to all cached primitives bounds

◆ OnRefreshVisibilityDone()

void FStaticRenderAssetInstanceManager::OnRefreshVisibilityDone ( int32  InBeginIndex,
int32  InEndIndex 
)
protected

◆ PrepareAsyncView()

FORCEINLINE void FStaticRenderAssetInstanceManager::PrepareAsyncView ( )
inlinefinaloverridevirtual

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

Implements IRenderAssetInstanceManager.

◆ Refresh()

void FStaticRenderAssetInstanceManager::Refresh ( float  Percentage)
finaloverridevirtual

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

Implements IRenderAssetInstanceManager.

◆ Remove()

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

Remove a component, the RemoveTextures is the list of textures not referred anymore.

Implements IRenderAssetInstanceManager.


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