![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <StreamableRenderResourceState.h>
Public Member Functions | |
| FStreamableRenderResourceState () | |
| FStreamableRenderResourceState (const FStreamableRenderResourceState &Other) | |
| void | operator= (const FStreamableRenderResourceState &Other) |
| int32 | LODCountToAssetFirstLODIdx (int32 InLODCount) const |
| int32 | LODCountToFirstLODIdx (int32 InLODCount) const |
| int32 | ResidentFirstLODIdx () const |
| int32 | RequestedFirstLODIdx () const |
| bool | IsValid () const |
| void | Clear () |
| bool | IsValidForStreamingRequest () const |
| bool | StreamIn (int32 InLODCount) |
| bool | StreamOut (int32 InLODCount) |
Public Attributes | ||
| union { | ||
| struct { | ||
| uint8 bSupportsStreaming: 1 | ||
| uint8 bSupportsVirtualStreaming: 1 | ||
| uint8 bHasPendingInitHint: 1 | ||
| uint8 bHasPendingLODTransitionHint: 1 | ||
| uint8 NumNonStreamingLODs | ||
| uint8 NumNonOptionalLODs | ||
| uint8 MaxNumLODs | ||
| uint8 AssetLODBias | ||
| uint8 NumResidentLODs | ||
| uint8 NumRequestedLODs | ||
| uint8 LODBiasModifier | ||
| } | ||
| uint64 Data | ||
| }; | ||
Static Public Attributes | |
| static const uint32 | MAX_LOD_COUNT = 16 |
Define the streaming capabilities of a UStreamableRenderAsset render resources. The properties defines the current render states, coherent on the gamethread for UStreamableRenderAsset::CachedSSRState. If used within render resources, like in FStreamableTextureResource::State, then it is coherent on the renderthread.
Is it only expected to be valid, if the render resource are created, with InitRHI command sent, in order to simplify logic. Also, { bSupportsStreaming, NumNonStreamingLODs, NumNonOptionalLODs, MaxNumLODs, AssetLODBias } are expected to be constant throughout the resource lifetime.
An important concept within this structure is that the resource first LOD is not required to be the first asset LOD, the offset being defined by AssetLODBias. This allows the streaming logic to ignore invalid, non relevant entries, or too many entries in the asset.
|
inline |
|
inline |
|
inline |
|
inline |
Return whether this has any information to be relied on.
|
inline |
Validate that everything is valid and makes sense for a streaming requests.
Considering the given render resource LOD count, return the corresponding first LOD index within the asset LOD array.
Considering the given render resource LOD count, return the corresponding first LOD index within the render resource LOD array.
|
inline |
|
inline |
Return the first requested LOD index within the render resource LOD array.
|
inline |
Return the first resident LOD index within the render resource LOD array.
Validate that everything is valid and makes sense for a streaming requests.
| union { ... } FStreamableRenderResourceState |
| uint8 FStreamableRenderResourceState::AssetLODBias |
The asset LOD index of the resource LOD 0. Non-zero when the render resource doesn't use all the asset LODs, for example ignore the first one.
|
mutable |
|
mutable |
| uint8 FStreamableRenderResourceState::bSupportsStreaming |
| uint8 FStreamableRenderResourceState::bSupportsVirtualStreaming |
Whether the resource uses virtual texture streaming. Virtual textures need to use a specific memory category.
| uint64 FStreamableRenderResourceState::Data |
| uint8 FStreamableRenderResourceState::LODBiasModifier |
An additional LOD bias modifier set during asset loading based on the current RHI feature level or other settings
|
static |
| uint8 FStreamableRenderResourceState::MaxNumLODs |
| uint8 FStreamableRenderResourceState::NumNonOptionalLODs |
| uint8 FStreamableRenderResourceState::NumNonStreamingLODs |
| uint8 FStreamableRenderResourceState::NumRequestedLODs |
The expected number of LODs after the current streaming request completes. Between NumNonStreamingLODs and MaxNumLODs.
| uint8 FStreamableRenderResourceState::NumResidentLODs |
The current number of LODs the resource has. Between NumNonStreamingLODs and MaxNumLODs.