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

#include <SkeletalMeshUpdate.h>

+ Inheritance diagram for FSkeletalMeshStreamIn:

Classes

struct  FIntermediateBuffers
 

Public Member Functions

UE_API FSkeletalMeshStreamIn (const USkeletalMesh *InMesh, EThreadType CreateResourcesThread)
 
virtual UE_API ~FSkeletalMeshStreamIn ()
 
- Public Member Functions inherited from FSkeletalMeshUpdate
 FSkeletalMeshUpdate (const USkeletalMesh *InMesh)
 
virtual ~FSkeletalMeshUpdate ()
 
virtual void Abort ()
 
- Public Member Functions inherited from TRenderAssetUpdate< FSkelMeshUpdateContext >
 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

UE_API void CreateBuffers (const FContext &Context)
 
UE_API void DiscardNewLODs (const FContext &Context)
 
UE_API void DoFinishUpdate (const FContext &Context)
 
UE_API void DoCancel (const FContext &Context)
 
- Protected Member Functions inherited from TRenderAssetUpdate< FSkelMeshUpdateContext >
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< FSkelMeshUpdateContext >
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< FSkelMeshUpdateContext >
typedef FSkelMeshUpdateContext 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

◆ FSkeletalMeshStreamIn()

FSkeletalMeshStreamIn::FSkeletalMeshStreamIn ( const USkeletalMesh InMesh,
EThreadType  CreateResourcesThread 
)

◆ ~FSkeletalMeshStreamIn()

FSkeletalMeshStreamIn::~FSkeletalMeshStreamIn ( )
virtual

Member Function Documentation

◆ CreateBuffers()

void FSkeletalMeshStreamIn::CreateBuffers ( const FContext Context)
protected

Create buffers with new LOD data

◆ DiscardNewLODs()

void FSkeletalMeshStreamIn::DiscardNewLODs ( const FContext Context)
protected

Discard newly streamed-in CPU data

◆ DoCancel()

void FSkeletalMeshStreamIn::DoCancel ( const FContext Context)
protected

Discard streamed-in CPU data and intermediate RHI buffers

◆ DoFinishUpdate()

void FSkeletalMeshStreamIn::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 FSkeletalMeshStreamIn::CreateResourcesThread
protected

The thread to use for recording the above command list

◆ IntermediateBuffersArray

FIntermediateBuffers FSkeletalMeshStreamIn::IntermediateBuffersArray[MAX_MESH_LOD_COUNT]
protected

The intermediate buffers created in the update process.

◆ StreamingRHICmdList

FRHICommandList* FSkeletalMeshStreamIn::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: