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

#include <StaticMeshUpdate.h>

+ Inheritance diagram for FStaticMeshStreamIn:

Classes

struct  FIntermediateBuffers
 

Public Member Functions

 FStaticMeshStreamIn (const UStaticMesh *InMesh, EThreadType CreateResourcesThread)
 
virtual ~FStaticMeshStreamIn ()
 
- Public Member Functions inherited from FStaticMeshUpdate
 FStaticMeshUpdate (const UStaticMesh *InMesh)
 
virtual void Abort ()
 
- Public Member Functions inherited from TRenderAssetUpdate< FStaticMeshUpdateContext >
 TRenderAssetUpdate (const UStreamableRenderAsset *InAsset)
 
void PushTask (const FContext &Context, EThreadType InTaskThread, const FCallback &InTaskCallback, EThreadType InCancelationThread, const FCallback &InCancelationCallback)
 
EThreadType GetRelevantThread () const final override
 
- Public Member Functions inherited from FRenderAssetUpdate
UE_API FRenderAssetUpdate (const UStreamableRenderAsset *InAsset)
 
UE_API void Tick (EThreadType InCurrentThread)
 
bool IsCompleted () const
 
virtual bool CanAbandon () const
 
virtual void OnAbandoned ()
 
bool IsCancelled () const
 
bool IsSuccessfullyFinished () const
 
UE_API ETaskState DoLock ()
 
UE_API void DoUnlock (ETaskState PreviousTaskState)
 
bool IsLocked () const
 
FReturnedRefCountValue AddRef () const final override
 
UE_API uint32 Release () const final override
 
uint32 GetRefCount () const final override
 
- Public Member Functions inherited from IRefCountedObject
virtual ~IRefCountedObject ()
 

Protected Member Functions

void CreateBuffers (const FContext &Context)
 
void DiscardNewLODs (const FContext &Context)
 
void DoFinishUpdate (const FContext &Context)
 
void DoCancel (const FContext &Context)
 
- Protected Member Functions inherited from FStaticMeshUpdate
virtual ~FStaticMeshUpdate ()
 
- Protected Member Functions inherited from TRenderAssetUpdate< FStaticMeshUpdateContext >
ETaskState TickInternal (EThreadType InCurrentThread, bool bCheckForSuspension) final override
 
void ClearCallbacks ()
 
- Protected Member Functions inherited from FRenderAssetUpdate
virtual UE_API ~FRenderAssetUpdate ()
 
void MarkAsCancelled ()
 
void MarkAsSuccessfullyFinished ()
 
UE_API void ScheduleGTTask ()
 
UE_API void ScheduleRenderTask ()
 
UE_API void ScheduleAsyncTask ()
 

Protected Attributes

FIntermediateBuffers IntermediateBuffersArray [MAX_MESH_LOD_COUNT]
 
FRHICommandListStreamingRHICmdList = nullptr
 
const EThreadType CreateResourcesThread
 
- Protected Attributes inherited from TRenderAssetUpdate< FStaticMeshUpdateContext >
EThreadType TaskThread
 
FCallback TaskCallback
 
EThreadType CancelationThread
 
FCallback CancelationCallback
 
- Protected Attributes inherited from FRenderAssetUpdate
const FStreamableRenderResourceState ResourceState
 
const int32 CurrentFirstLODIdx = INDEX_NONE
 
const int32 PendingFirstLODIdx = INDEX_NONE
 
FCriticalSection CS
 
int32 ScheduledGTTasks
 
int32 ScheduledRenderTasks
 
int32 ScheduledAsyncTasks
 
const UStreamableRenderAssetStreamableAsset = nullptr
 
FThreadSafeCounter TaskSynchronization
 
bool bIsCancelled
 
bool bDeferExecution
 
bool bSuccess
 
volatile ETaskState TaskState
 

Additional Inherited Members

- Public Types inherited from TRenderAssetUpdate< FStaticMeshUpdateContext >
typedef FStaticMeshUpdateContext FContext
 
typedef TFunction< void(const FContext &Context)> FCallback
 
- Public Types inherited from FRenderAssetUpdate
enum  EThreadType {
  TT_None , TT_Render , TT_Async , TT_GameThread ,
  TT_GameRunningAsync
}
 
enum  ETaskState {
  TS_Done , TS_Suspended , TS_InProgress , TS_Locked ,
  TS_Init
}
 
- Protected Types inherited from FRenderAssetUpdate
typedef FAutoDeleteAsyncTask< FMipUpdateTaskFAsyncMipUpdateTask
 

Constructor & Destructor Documentation

◆ FStaticMeshStreamIn()

FStaticMeshStreamIn::FStaticMeshStreamIn ( const UStaticMesh InMesh,
EThreadType  CreateResourcesThread 
)

◆ ~FStaticMeshStreamIn()

FStaticMeshStreamIn::~FStaticMeshStreamIn ( )
virtual

Member Function Documentation

◆ CreateBuffers()

void FStaticMeshStreamIn::CreateBuffers ( const FContext Context)
protected

Create buffers with new LOD data

◆ DiscardNewLODs()

void FStaticMeshStreamIn::DiscardNewLODs ( const FContext Context)
protected

Discard newly streamed-in CPU data

◆ DoCancel()

void FStaticMeshStreamIn::DoCancel ( const FContext Context)
protected

Discard streamed-in CPU data and intermediate RHI buffers

◆ DoFinishUpdate()

void FStaticMeshStreamIn::DoFinishUpdate ( const FContext Context)
protected

Apply the new buffers (if not cancelled) and finish the update process. When cancelled, the intermediate buffers simply gets discarded.

Member Data Documentation

◆ CreateResourcesThread

const EThreadType FStaticMeshStreamIn::CreateResourcesThread
protected

The thread to use for recording the above command list

◆ IntermediateBuffersArray

FIntermediateBuffers FStaticMeshStreamIn::IntermediateBuffersArray[MAX_MESH_LOD_COUNT]
protected

The intermediate buffers created in the update process.

◆ StreamingRHICmdList

FRHICommandList* FStaticMeshStreamIn::StreamingRHICmdList = nullptr
protected

RHI command list used for creating buffers and replacing the streaming placeholders. Submitted in DoFinishUpdate


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