UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TextureLODSettings.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "UObject/Object.h"
9#include "TextureLODSettings.generated.h"
10
11class UTexture;
12enum class EVTProducerPriority : uint8;
13
15USTRUCT()
17{
19
21 {
22 SetupGroup();
23 }
24
26 UPROPERTY()
28
31
33 UPROPERTY()
35
36 UPROPERTY()
38
40 int32 MaxLODMipCount = 32;
41
43 UPROPERTY()
45
46 UPROPERTY()
47 int32 LODBias_Smaller = -1;
48
49 UPROPERTY()
50 int32 LODBias_Smallest = -1;
51
52 UPROPERTY()
53 int32 LODBias_VT = 0;
54
56 UPROPERTY()
57 int32 NumStreamedMips = -1;
58
60 UPROPERTY()
61 int32 MinLODSize = 1;
62
64 UPROPERTY()
65 int32 MaxLODSize = 4096;
66
68 UPROPERTY()
69 int32 MaxLODSize_Smaller = -1;
70
72 UPROPERTY()
73 int32 MaxLODSize_Smallest = -1;
74
76 UPROPERTY()
77 int32 MaxLODSize_VT = 0;
78
80 UPROPERTY()
81 int32 OptionalLODBias = 0;
82
84 UPROPERTY()
85 int32 OptionalMaxLODSize = 4096;
86
87 UPROPERTY()
88 FName MinMagFilter = NAME_Aniso;
89
90 UPROPERTY()
91 FName MipFilter = NAME_Point;
92
94 UPROPERTY()
95 uint8 HighPriorityLoad : 1 = false;
96
97 UPROPERTY()
98 uint8 DuplicateNonOptionalMips : 1 = false;
99
101 UPROPERTY()
102 uint8 CookPlatformTilingDisabled : 1 = false;
103
104 UPROPERTY()
106
107 UPROPERTY()
109
110 UPROPERTY()
111 float Downscale = 1.0;
112
113 UPROPERTY()
114 int32 VirtualTextureTileCountBias = 0;
115
116 UPROPERTY()
117 int32 VirtualTextureTileSizeBias = 0;
118
119 UPROPERTY()
121
123 UPROPERTY()
124 int32 MaxAniso = 0;
125
126 ENGINE_API void SetupGroup();
127
128 ENGINE_API bool operator==(const FTextureLODGroup& Other) const;
129};
130
135UCLASS(config=DeviceProfiles, perObjectConfig, MinimalAPI)
137{
139
140public:
141
142
151
165
173 ENGINE_API int32 CalculateNumOptionalMips(int32 LODGroup, const int32 Width, const int32 Height, const int32 NumMips, const int32 MinMipToInline, TextureMipGenSettings InMipGenSetting) const;
174
175#if WITH_EDITORONLY_DATA
178#endif // #if WITH_EDITORONLY_DATA
179
188
190
197 ENGINE_API ETextureMipLoadOptions GetMipLoadOptions(const UTexture* Texture) const;
198
205 ENGINE_API const TextureMipGenSettings GetTextureMipGenSettings( int32 InLODGroup ) const;
206
207
213 static ENGINE_API TArray<FString> GetTextureGroupNames();
214
221 ENGINE_API FTextureLODGroup& GetTextureLODGroup(TextureGroup GroupIndex);
222
229 ENGINE_API const FTextureLODGroup& GetTextureLODGroup(TextureGroup GroupIndex) const;
230
231protected:
232 ENGINE_API void SetupLODGroup(int32 GroupId);
233
234public:
235
237 UPROPERTY(EditAnywhere, config, Category="Texture LOD Settings")
238 TArray<FTextureLODGroup> TextureLODGroups;
239
240#if ALLOW_OTHER_PLATFORM_CONFIG
241public:
243
245 {
247 }
248
249private:
251#endif
252};
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
ETextureSamplerFilter GetSamplerFilter(TConstArrayView< FTextureLODGroup > TextureLODGroups, const UTexture *Texture)
Definition SlateRHIRenderingPolicy.cpp:116
ETextureLossyCompressionAmount
Definition TextureDefines.h:270
ETextureDownscaleOptions
Definition TextureDefines.h:237
ETextureSamplerFilter
Definition TextureDefines.h:209
ETextureMipLoadOptions
Definition TextureDefines.h:219
TextureMipGenSettings
Definition TextureDefines.h:129
TextureGroup
Definition TextureDefines.h:29
EVTProducerPriority
Definition VirtualTextureEnum.h:11
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition NameTypes.h:617
Definition Array.h:670
Definition EnumAsByte.h:22
Definition Object.h:95
int32 NumCinematicMipLevels
Definition StreamableRenderAsset.h:284
Definition TextureLODSettings.h:137
Definition Texture.h:1219
FPerPlatformFloat Downscale
Definition Texture.h:1516
ENGINE_API int32 CalculateLODBias(bool bWithCinematicMipBias) const
Definition TextureDerivedData.cpp:3600
EVTProducerPriority VirtualTextureStreamingPriority
Definition Texture.h:1482
int32 LODBias
Definition Texture.h:1466
TEnumAsByte< enum TextureGroup > LODGroup
Definition Texture.h:1502
ETextureMipLoadOptions MipLoadOptions
Definition Texture.h:1478
ETextureDownscaleOptions DownscaleOptions
Definition Texture.h:1520
@ false
Definition radaudio_common.h:23
Definition TextureLODSettings.h:17