UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TextureEncodingSettings.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
6#include "TextureEncodingSettings.generated.h"
7
8
9// For encoders that support it (i.e. Oodle), this controls how much time to
10// spend on finding better encoding.
11// (These need to match the Oodle OodleTex_EncodeEffortLevel values if you are
12// using Oodle.)
13UENUM()
15{
16 Default = 0 UMETA(ToolTip = "Let the encoder decide what's best."),
17 Low = 10 UMETA(ToolTip = "Faster encoding, lower quality. Probably don't ship textures encoded at this effort level"),
18 Normal = 20 UMETA(ToolTip = "Reasonable compromise"),
19 High = 30 UMETA(ToolTip = "More time, better quality - good for nightlies / unattended cooks.")
20};
21
22// enum values must match exactly with OodleTex_RDO_UniversalTiling
23UENUM()
25{
26 Disabled = 0,
27 Enabled_256KB = 1,
28 Enabled_64KB = 2
29};
30
31
32// Enum that allows for not overriding what the existing setting is - all the
33// other values have the same meaning as ETextureEncodeSpeed
34UENUM()
36{
37 Disabled = 255, // don't override.
38 Final = 0,
40 Fast = 2
41};
42
43//
44// This is the public, thread safe class for accessing the encoding settings. They are
45// filled out as part of the engine class default object init loop during PreInit, and
46// are safe to access at any point during CDO construction as well.
47//
49{
50 // Properties mirrored from UTextureEncodingUserSettings - look there for
51 // documentation
52 struct
53 {
56
57 // Properties mirrored from UTextureEncodingProjectSettings - look there for
58 // documentation
59 struct
60 {
73
74 // The resolved EncodeSpeed to use for this instance, taking in to account overrides.
76
78};
79
80//
81// Separate type so that the engine can check for custom encoding set in the texture
82// editor module without needing to depend on it.
83//
85{
86public:
87 // If we want to override Oodle specific encoding settings, we set this to true.
88 bool bUseCustomEncode = false;
89
90 // [0,100]
92
93 // enum ETextureEncodeEffort
95
96 // enum ETextureUniversalTiling
98
99};
FPlatformTypes::int8 int8
An 8-bit signed integer.
Definition Platform.h:1121
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UMETA(...)
Definition ObjectMacros.h:747
#define UENUM(...)
Definition ObjectMacros.h:749
ETextureEncodeSpeed
Definition TextureDefines.h:287
ETextureUniversalTiling
Definition TextureEncodingSettings.h:25
ETextureEncodeEffort
Definition TextureEncodingSettings.h:15
ETextureEncodeSpeedOverride
Definition TextureEncodingSettings.h:36
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition TextureEncodingSettings.h:85
uint8 OodleEncodeEffort
Definition TextureEncodingSettings.h:94
uint8 OodleRDOLambda
Definition TextureEncodingSettings.h:91
bool bUseCustomEncode
Definition TextureEncodingSettings.h:88
uint8 OodleUniversalTiling
Definition TextureEncodingSettings.h:97
Definition TextureEncodingSettings.h:49
ETextureEncodeSpeedOverride ForceEncodeSpeed
Definition TextureEncodingSettings.h:54
uint32 bFastUsesRDO
Definition TextureEncodingSettings.h:63
uint32 bFinalUsesRDO
Definition TextureEncodingSettings.h:62
uint32 bSharedLinearTextureEncoding
Definition TextureEncodingSettings.h:61
struct FResolvedTextureEncodingSettings::@1247 User
ETextureUniversalTiling FastUniversalTiling
Definition TextureEncodingSettings.h:69
int8 FastRDOLambda
Definition TextureEncodingSettings.h:65
ETextureEncodeSpeed EditorUsesSpeed
Definition TextureEncodingSettings.h:71
struct FResolvedTextureEncodingSettings::@1248 Project
ETextureEncodeEffort FastEffortLevel
Definition TextureEncodingSettings.h:68
static ENGINE_API FResolvedTextureEncodingSettings const & Get()
Definition TextureEncodingSettings.cpp:225
ETextureEncodeEffort FinalEffortLevel
Definition TextureEncodingSettings.h:66
ETextureEncodeSpeed EncodeSpeed
Definition TextureEncodingSettings.h:75
int8 FinalRDOLambda
Definition TextureEncodingSettings.h:64
ETextureEncodeSpeed CookUsesSpeed
Definition TextureEncodingSettings.h:70
ETextureUniversalTiling FinalUniversalTiling
Definition TextureEncodingSettings.h:67