13#include "TextureStreamingTypes.generated.h"
17class UPrimitiveComponent;
66 uint32 bAllowInvalidTexelFactorWhenUnregistered : 1;
70 uint32 bAffectedByComponentScale : 1;
77 bAllowInvalidTexelFactorWhenUnregistered(
false),
78 bAffectedByComponentScale(
true)
102 &&
ensure(FMath::IsFinite(TexelFactor));
157 PackedRelativeBox(0),
158 TextureLevelIndex(0),
179#define TEXSTREAM_MAX_NUM_UVCHANNELS 4
181#define TEXSTREAM_INITIAL_GPU_SCALE 256
183#define TEXSTREAM_TILE_RESOLUTION 32
185#define TEXSTREAM_MAX_NUM_TEXTURES_PER_MATERIAL 256
228 bool bUseRelativeBoxes;
231 int32 BuildDataTimestamp;
239 struct FTextureBoundState
241 FTextureBoundState() {}
246 int32 BuildDataTimestamp;
248 int32 BuildDataIndex;
261 bool bIsBuiltDataValid;
262 bool bForceNoUseBuiltData;
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define ensure( InExpression)
Definition AssertionMacros.h:464
@ INDEX_NONE
Definition CoreMiscDefines.h:150
@ ForceInit
Definition CoreMiscDefines.h:155
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
uint64 ComputeHash(const FRHITextureCreateInfo &InCreateInfo, uint64 HeapOffset)
Definition RHICoreTransientResourceAllocator.h:15
ENGINE_API void UnpackRelativeBox(const FBoxSphereBounds &InRefBounds, uint32 InPackedRelBox, FBoxSphereBounds &OutBounds)
Definition TextureStreamingBuild.cpp:389
constexpr uint16 InvalidRegisteredStreamableTexture
Definition TextureStreamingTypes.h:107
ENGINE_API bool BuildTextureStreamingComponentData(UWorld *InWorld, EMaterialQualityLevel::Type QualityLevel, ERHIFeatureLevel::Type FeatureLevel, bool bFullRebuild, FSlowTask &BuildTextureStreamingTask)
Definition TextureStreamingBuild.cpp:217
ENGINE_API TAutoConsoleVariable< int32 > CVarStreamingUseNewMetrics
ENGINE_API TAutoConsoleVariable< int32 > CVarFramesForFullUpdate
TMap< UMaterialInterface *, TArray< FMaterialTextureInfo > > FTexCoordScaleMap
Definition TextureStreamingTypes.h:304
ENGINE_API int64 GetAverageRequiredTexturePoolSize()
Definition TextureStreamingHelpers.cpp:496
ENGINE_API uint32 PackRelativeBox(const FVector &RefOrigin, const FVector &RefExtent, const FVector &Origin, const FVector &Extent)
Definition TextureStreamingBuild.cpp:347
constexpr uint32 PackedRelativeBox_Identity
Definition TextureStreamingTypes.h:32
TMap< UMaterialInterface *, TArray< ULevel * > > FMaterialToLevelsMap
Definition TextureStreamingTypes.h:307
ENGINE_API void CheckTextureStreamingBuildValidity(UWorld *InWorld)
Definition TextureStreamingBuild.cpp:760
TFunction< void(UPrimitiveComponent *, UStreamableRenderAsset *, ELODStreamingCallbackResult)> FLODStreamingCallback
Definition TextureStreamingTypes.h:295
ETextureStreamingBuildType
Definition TextureStreamingTypes.h:204
@ TSB_ValidationOnly
Definition TextureStreamingTypes.h:207
@ TSB_MapBuild
Definition TextureStreamingTypes.h:205
@ TSB_ActorBuild
Definition TextureStreamingTypes.h:206
@ TSB_ViewMode
Definition TextureStreamingTypes.h:208
ELODStreamingCallbackResult
Definition TextureStreamingTypes.h:286
ENGINE_API void ResetAverageRequiredTexturePoolSize()
Definition TextureStreamingHelpers.cpp:487
#define UE_SMALL_NUMBER
Definition UnrealMathUtility.h:130
Definition TextureStreamingTypes.h:223
ENGINE_API ~FStreamingTextureLevelContext()
Definition TextureStreamingBuild.cpp:557
ENGINE_API bool CanUseTextureStreamingBuiltData() const
Definition TextureStreamingBuild.cpp:552
EMaterialQualityLevel::Type GetQualityLevel()
Definition TextureStreamingTypes.h:281
ERHIFeatureLevel::Type GetFeatureLevel()
Definition TextureStreamingTypes.h:282
void SetForceNoUseBuiltData(bool bValue)
Definition TextureStreamingTypes.h:275
ENGINE_API void UpdateContext(EMaterialQualityLevel::Type InQualityLevel, const ULevel *InLevel, const TMap< FGuid, int32 > *InTextureGuidToLevelIndex)
Definition TextureStreamingBuild.cpp:480
ENGINE_API void ProcessMaterial(const FBoxSphereBounds &ComponentBounds, const FPrimitiveMaterialInfo &MaterialData, float ComponentScaling, TArray< FStreamingRenderAssetPrimitiveInfo > &OutStreamingTextures, bool bIsComponentBuildDataValid=false, const UPrimitiveComponent *DebugComponent=nullptr)
Definition TextureStreamingBuild.cpp:645
ENGINE_API void BindBuildData(const TArray< FStreamingTextureBuildInfo > *PreBuiltData)
Definition TextureStreamingBuild.cpp:569
Definition IConsoleManager.h:1792
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition MaterialInterface.h:296
Definition StreamableRenderAsset.h:37
Definition Texture.h:1219
Type
Definition SceneTypes.h:132
Type
Definition RHIFeatureLevel.h:20
@ false
Definition radaudio_common.h:23
Definition MaterialInterface.h:164
Definition MeshUVChannelInfo.h:13
Definition TextureStreamingTypes.h:188
const FMeshUVChannelInfo * UVChannelData
Definition TextureStreamingTypes.h:195
const UMaterialInterface * Material
Definition TextureStreamingTypes.h:192
uint32 PackedRelativeBox
Definition TextureStreamingTypes.h:198
FPrimitiveMaterialInfo()
Definition TextureStreamingTypes.h:189
bool IsValid() const
Definition TextureStreamingTypes.h:200
Definition TextureStreamingTypes.h:37
bool CanBeStreamedByDistance(bool bOwningCompRegistered) const
Definition TextureStreamingTypes.h:98
FStreamingRenderAssetPrimitiveInfo(UStreamableRenderAsset *InAsset, const FBoxSphereBounds &InBounds, float InTexelFactor, uint32 InPackedRelativeBox=0, bool bInAllowInvalidTexelFactorWhenUnregistered=false, bool bInAffectedByComponentScale=true)
Definition TextureStreamingTypes.h:82
Definition TextureStreamingTypes.h:129
Definition TextureStreamingTypes.h:113
Definition ObjectPtr.h:488
Definition BoxSphereBounds.h:25