UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TextureDefines.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
8// TextureDefines.h is used from the TextureCompressor module as an "include only"
9// dependency to get visibility of these enum values without linking to the engine module
10// to facilitate that the generated TextureDefines header is only conditionally included
11// if we're compiling with the engine.
12#if WITH_ENGINE
13#include "TextureDefines.generated.h"
14#endif // WITH_ENGINE
15
16enum EPixelFormat : uint8;
17
27UENUM()
29{
30 TEXTUREGROUP_World UMETA(DisplayName="ini:World"),
31 TEXTUREGROUP_WorldNormalMap UMETA(DisplayName="ini:WorldNormalMap"),
32 TEXTUREGROUP_WorldSpecular UMETA(DisplayName="ini:WorldSpecular"),
33 TEXTUREGROUP_Character UMETA(DisplayName="ini:Character"),
34 TEXTUREGROUP_CharacterNormalMap UMETA(DisplayName="ini:CharacterNormalMap"),
35 TEXTUREGROUP_CharacterSpecular UMETA(DisplayName="ini:CharacterSpecular"),
36 TEXTUREGROUP_Weapon UMETA(DisplayName="ini:Weapon"),
37 TEXTUREGROUP_WeaponNormalMap UMETA(DisplayName="ini:WeaponNormalMap"),
38 TEXTUREGROUP_WeaponSpecular UMETA(DisplayName="ini:WeaponSpecular"),
39 TEXTUREGROUP_Vehicle UMETA(DisplayName="ini:Vehicle"),
40 TEXTUREGROUP_VehicleNormalMap UMETA(DisplayName="ini:VehicleNormalMap"),
41 TEXTUREGROUP_VehicleSpecular UMETA(DisplayName="ini:VehicleSpecular"),
42 TEXTUREGROUP_Cinematic UMETA(DisplayName="ini:Cinematic"),
43 TEXTUREGROUP_Effects UMETA(DisplayName="ini:Effects"),
44 TEXTUREGROUP_EffectsNotFiltered UMETA(DisplayName="ini:EffectsNotFiltered"),
45 TEXTUREGROUP_Skybox UMETA(DisplayName="ini:Skybox"),
46 TEXTUREGROUP_UI UMETA(DisplayName="ini:UI"),
47 TEXTUREGROUP_Lightmap UMETA(DisplayName="ini:Lightmap"),
48 TEXTUREGROUP_RenderTarget UMETA(DisplayName="ini:RenderTarget"),
49 TEXTUREGROUP_MobileFlattened UMETA(DisplayName="ini:MobileFlattened"),
51 TEXTUREGROUP_ProcBuilding_Face UMETA(DisplayName="ini:ProcBuilding_Face"),
53 TEXTUREGROUP_ProcBuilding_LightMap UMETA(DisplayName="ini:ProcBuilding_LightMap"),
54 TEXTUREGROUP_Shadowmap UMETA(DisplayName="ini:Shadowmap"),
56 TEXTUREGROUP_ColorLookupTable UMETA(DisplayName="ini:ColorLookupTable"),
57 TEXTUREGROUP_Terrain_Heightmap UMETA(DisplayName="ini:Terrain_Heightmap"),
58 TEXTUREGROUP_Terrain_Weightmap UMETA(DisplayName="ini:Terrain_Weightmap"),
60 TEXTUREGROUP_Bokeh UMETA(DisplayName="ini:Bokeh"),
62 TEXTUREGROUP_IESLightProfile UMETA(DisplayName="ini:IESLightProfile"),
64 TEXTUREGROUP_Pixels2D UMETA(DisplayName="ini:2D Pixels (unfiltered)"),
66 TEXTUREGROUP_HierarchicalLOD UMETA(DisplayName="ini:Hierarchical LOD"),
68 TEXTUREGROUP_Impostor UMETA(DisplayName="ini:Impostor Color"),
70 TEXTUREGROUP_ImpostorNormalDepth UMETA(DisplayName="ini:Impostor Normal and Depth"),
72 TEXTUREGROUP_8BitData UMETA(DisplayName="ini:8 Bit Data"),
74 TEXTUREGROUP_16BitData UMETA(DisplayName="ini:16 Bit Data"),
76 TEXTUREGROUP_Project01 UMETA(DisplayName="ini:Project Group 01"),
77 TEXTUREGROUP_Project02 UMETA(DisplayName="ini:Project Group 02"),
78 TEXTUREGROUP_Project03 UMETA(DisplayName="ini:Project Group 03"),
79 TEXTUREGROUP_Project04 UMETA(DisplayName="ini:Project Group 04"),
80 TEXTUREGROUP_Project05 UMETA(DisplayName="ini:Project Group 05"),
81 TEXTUREGROUP_Project06 UMETA(DisplayName="ini:Project Group 06"),
82 TEXTUREGROUP_Project07 UMETA(DisplayName="ini:Project Group 07"),
83 TEXTUREGROUP_Project08 UMETA(DisplayName="ini:Project Group 08"),
84 TEXTUREGROUP_Project09 UMETA(DisplayName="ini:Project Group 09"),
85 TEXTUREGROUP_Project10 UMETA(DisplayName="ini:Project Group 10"),
86 TEXTUREGROUP_Project11 UMETA(DisplayName="ini:Project Group 11"),
87 TEXTUREGROUP_Project12 UMETA(DisplayName="ini:Project Group 12"),
88 TEXTUREGROUP_Project13 UMETA(DisplayName="ini:Project Group 13"),
89 TEXTUREGROUP_Project14 UMETA(DisplayName="ini:Project Group 14"),
90 TEXTUREGROUP_Project15 UMETA(DisplayName="ini:Project Group 15"),
91 TEXTUREGROUP_Project16 UMETA(DisplayName="ini:Project Group 16"),
92 TEXTUREGROUP_Project17 UMETA(DisplayName="ini:Project Group 17"),
93 TEXTUREGROUP_Project18 UMETA(DisplayName="ini:Project Group 18"),
94 TEXTUREGROUP_Project19 UMETA(DisplayName="ini:Project Group 19"),
95 TEXTUREGROUP_Project20 UMETA(DisplayName="ini:Project Group 20"),
96 TEXTUREGROUP_Project21 UMETA(DisplayName="ini:Project Group 21"),
97 TEXTUREGROUP_Project22 UMETA(DisplayName="ini:Project Group 22"),
98 TEXTUREGROUP_Project23 UMETA(DisplayName="ini:Project Group 23"),
99 TEXTUREGROUP_Project24 UMETA(DisplayName="ini:Project Group 24"),
100 TEXTUREGROUP_Project25 UMETA(DisplayName="ini:Project Group 25"),
101 TEXTUREGROUP_Project26 UMETA(DisplayName="ini:Project Group 26"),
102 TEXTUREGROUP_Project27 UMETA(DisplayName="ini:Project Group 27"),
103 TEXTUREGROUP_Project28 UMETA(DisplayName="ini:Project Group 28"),
104 TEXTUREGROUP_Project29 UMETA(DisplayName="ini:Project Group 29"),
105 TEXTUREGROUP_Project30 UMETA(DisplayName="ini:Project Group 30"),
106 TEXTUREGROUP_Project31 UMETA(DisplayName="ini:Project Group 31"),
107 TEXTUREGROUP_Project32 UMETA(DisplayName="ini:Project Group 32"),
108 TEXTUREGROUP_Project33 UMETA(DisplayName="ini:Project Group 33"),
109 TEXTUREGROUP_Project34 UMETA(DisplayName="ini:Project Group 34"),
110 TEXTUREGROUP_Project35 UMETA(DisplayName="ini:Project Group 35"),
111 TEXTUREGROUP_Project36 UMETA(DisplayName="ini:Project Group 36"),
112 TEXTUREGROUP_Project37 UMETA(DisplayName="ini:Project Group 37"),
113 TEXTUREGROUP_Project38 UMETA(DisplayName="ini:Project Group 38"),
114 TEXTUREGROUP_Project39 UMETA(DisplayName="ini:Project Group 39"),
115 TEXTUREGROUP_Project40 UMETA(DisplayName="ini:Project Group 40"),
116 TEXTUREGROUP_Project41 UMETA(DisplayName="ini:Project Group 41"),
117 TEXTUREGROUP_Project42 UMETA(DisplayName="ini:Project Group 42"),
118 TEXTUREGROUP_Project43 UMETA(DisplayName="ini:Project Group 43"),
119 TEXTUREGROUP_Project44 UMETA(DisplayName="ini:Project Group 44"),
120 TEXTUREGROUP_Project45 UMETA(DisplayName="ini:Project Group 45"),
121 TEXTUREGROUP_Project46 UMETA(DisplayName="ini:Project Group 46"),
122 TEXTUREGROUP_Project47 UMETA(DisplayName="ini:Project Group 47"),
123 TEXTUREGROUP_Project48 UMETA(DisplayName="ini:Project Group 48"),
125};
126
127UENUM()
129{
131 TMGS_FromTextureGroup UMETA(DisplayName="FromTextureGroup"),
133 TMGS_SimpleAverage UMETA(DisplayName="SimpleAverage"),
135 TMGS_Sharpen0 UMETA(DisplayName="Sharpen0"),
137 TMGS_Sharpen1 UMETA(DisplayName="Sharpen1"),
139 TMGS_Sharpen2 UMETA(DisplayName="Sharpen2"),
141 TMGS_Sharpen3 UMETA(DisplayName="Sharpen3"),
143 TMGS_Sharpen4 UMETA(DisplayName="Sharpen4"),
145 TMGS_Sharpen5 UMETA(DisplayName="Sharpen5"),
147 TMGS_Sharpen6 UMETA(DisplayName="Sharpen6"),
149 TMGS_Sharpen7 UMETA(DisplayName="Sharpen7"),
151 TMGS_Sharpen8 UMETA(DisplayName="Sharpen8"),
153 TMGS_Sharpen9 UMETA(DisplayName="Sharpen9"),
155 TMGS_Sharpen10 UMETA(DisplayName="Sharpen10"),
156 TMGS_NoMipmaps UMETA(DisplayName="NoMipmaps"),
158 TMGS_LeaveExistingMips UMETA(DisplayName="LeaveExistingMips"),
160 TMGS_Blur1 UMETA(DisplayName="Blur1"),
161 TMGS_Blur2 UMETA(DisplayName="Blur2"),
162 TMGS_Blur3 UMETA(DisplayName="Blur3"),
163 TMGS_Blur4 UMETA(DisplayName="Blur4"),
164 TMGS_Blur5 UMETA(DisplayName = "Blur5"),
166 TMGS_Unfiltered UMETA(DisplayName = "Unfiltered"),
168 TMGS_Angular UMETA(DisplayName = "Angular"),
170
171 // Note: These are serialized as as raw values in the texture DDC key, so additional entries
172 // should be added at the bottom; reordering or removing entries will require changing the GUID
173 // in the texture compressor DDC key
174};
175
177UENUM()
179{
180 enum Type : int
181 {
184
187
190
193
196
199
200 // Note: These are serialized as as raw values in the texture DDC key, so additional entries
201 // should be added at the bottom; reordering or removing entries will require changing the GUID
202 // in the texture compressor DDC key
203 };
204}
205
206// Must match enum ESamplerFilter in RHIDefinitions.h
207UENUM()
216
217UENUM()
219{
220 // Fallback to the LODGroup settings
221 Default,
222 // Load all mips.
223 AllMips,
224 // Load only the first mip.
226};
227
228UENUM()
230{
231 GPU,
232 CPU
233};
234
235UENUM()
237{
239 Default,
245 Sharpen0,
247 Sharpen1,
249 Sharpen2,
251 Sharpen3,
253 Sharpen4,
255 Sharpen5,
257 Sharpen6,
259 Sharpen7,
261 Sharpen8,
263 Sharpen9,
266};
267
268UENUM()
270{
271 TLCA_Default UMETA(DisplayName = "Default"),
272 TLCA_None UMETA(DisplayName = "No lossy compression (Oodle RDO disabled)"),
273 TLCA_Lowest UMETA(DisplayName = "Lowest (Best image quality, largest filesize) (Oodle RDO 1)"),
274 TLCA_Low UMETA(DisplayName = "Low (Oodle RDO 10)"),
275 TLCA_Medium UMETA(DisplayName = "Medium (Oodle RDO 20)"),
276 TLCA_High UMETA(DisplayName = "High (Oodle RDO 30)"),
277 TLCA_Highest UMETA(DisplayName = "Highest (Worst image quality, smallest filesize) (Oodle RDO 40)"),
278};
279
280// Certain settings can be changed to facilitate how fast a texture build takes. This
281// controls which of those settings is used. It is resolved prior to the settings reaching
282// the encoder.
283//
284// In many places where this is used, FinalIfAvailable is invalid.
285UENUM()
287{
288 // Use the "Final" encode speed settings in UTextureEncodingProjectSettings
289 Final = 0,
290 // Try and fetch the final encode speed settings, but if they don't exist, encode
291 // with Fast.
293 // Use the "Fast" encode settings in UTextureEncodingProjectSettings
294 Fast = 2
295};
296
297UENUM()
299{
300 Invalid,
301 // Engine types with source data :
302 TwoD,
303 Cube,
304 Array,
305 CubeArray,
306 Volume,
307
308 // Engine types without source data :
310 RenderTarget, // can be 2D or Cube
311
312 // User types :
313 Other2DNoSource, // Media, Web, etc. that should have derived from TwoDDynamic but didn't
315};
316
317UENUM()
319{
320 CTM_Disabled UMETA(DisplayName="Disabled"),
322 CTM_NormalRoughnessToRed UMETA(DisplayName="Add Normal Roughness To Red"),
324 CTM_NormalRoughnessToGreen UMETA(DisplayName="Add Normal Roughness To Green"),
326 CTM_NormalRoughnessToBlue UMETA(DisplayName="Add Normal Roughness To Blue"),
328 CTM_NormalRoughnessToAlpha UMETA(DisplayName="Add Normal Roughness To Alpha"),
330
331 // Note: These are serialized as as raw values in the texture DDC key, so additional entries
332 // should be added at the bottom; reordering or removing entries will require changing the GUID
333 // in the texture compressor DDC key
334};
335
336UENUM()
338{
339 TSCF_None UMETA(DisplayName = "None"),
340 TSCF_PNG UMETA(DisplayName = "PNG"),
341 TSCF_JPEG UMETA(DisplayName = "JPEG"),
342 TSCF_UEJPEG UMETA(DisplayName = "UE JPEG"),
343 TSCF_UEDELTA UMETA(DisplayName = "UE Delta"),
344
347
348// ETextureSourceFormat should map one-to-one to ImageCore ERawImageFormat::Type
349UENUM()
351{
358
359 // these are changed to TSF_BGRA8/TSF_BGRE8 on load, so the runtime will never see them after loading :
360 // keep them here to preserve enum values
363
368
369 TSF_MAX
371
386extern ENGINE_API FTextureSourceFormatInfo GTextureSourceFormats[TSF_MAX]; // Maps members of ETextureSourceFormat to a FTextureSourceFormatInfo describing the format.
387
388// This needs to be mirrored in EditorFactories.cpp.
389// TC_EncodedReflectionCapture is no longer used and could be deleted
390UENUM()
392{
393 TC_Default UMETA(DisplayName = "Default (BC1 or BC3 with A)"),
394 TC_Normalmap UMETA(DisplayName = "Normalmap (BC5)"),
395 TC_Masks UMETA(DisplayName = "Masks (no sRGB)", ToolTip = "Same compression as Default"),
396 TC_Grayscale UMETA(DisplayName = "Grayscale (G8/16) from source R", ToolTip = "If SRGB is set, becomes uncompressed RGBA8; prefer BC4"),
397 TC_Displacementmap UMETA(DisplayName = "Displacementmap (G8/16) from source A", ToolTip = "For Nanite displacement use TC_Alpha"),
398 TC_VectorDisplacementmap UMETA(DisplayName = "VectorDisplacementmap (RGBA8)"),
399 TC_HDR UMETA(DisplayName = "HDR (RGBA16F, no sRGB)", ToolTip = "Prefer HDR Compressed"),
400 TC_EditorIcon UMETA(DisplayName = "Uncompressed (RGBA8)", ToolTip = "Very high memory use; prefer BC7 or Default instead"),
401 TC_Alpha UMETA(DisplayName = "Alpha (no sRGB, BC4) from source R", ToolTip = "Single channel compressed; can also use for displacement and gray"),
402 TC_DistanceFieldFont UMETA(DisplayName = "DistanceFieldFont (G8) from source A"),
403 TC_HDR_Compressed UMETA(DisplayName = "HDR Compressed (BC6H)"),
404 TC_BC7 UMETA(DisplayName = "BC7 Compressed (BC7)", ToolTip = "High quality compressed texture, same size as BC3"),
405 TC_HalfFloat UMETA(DisplayName = "Half Float (R16F)"),
406 TC_LQ UMETA(Hidden, DisplayName = "Low Quality (BGR565/BGR555A1)", ToolTip = "BGR565/BGR555A1, fallback to DXT1/DXT5 on Mac platform"),
408 TC_SingleFloat UMETA(DisplayName = "Single Float (R32F)"),
409 TC_HDR_F32 UMETA(DisplayName = "HDR High Precision (RGBA32F)"),
411};
412
414UENUM()
416{
417 TSE_None = 0 UMETA(DisplayName = "None", ToolTip = "The source encoding is not overridden."),
418 TSE_Linear = 1 UMETA(DisplayName = "Linear", ToolTip = "The source encoding is considered linear (before optional sRGB encoding is applied)."),
419 TSE_sRGB = 2 UMETA(DisplayName = "sRGB", ToolTip = "sRGB source encoding to be linearized (before optional sRGB encoding is applied)."),
420 TSE_ST2084 = 3 UMETA(DisplayName = "ST 2084/PQ", ToolTip = "SMPTE ST 2084/PQ source encoding to be linearized (before optional sRGB encoding is applied)."),
421 TSE_Gamma22 = 4 UMETA(DisplayName = "Gamma 2.2", ToolTip = "Gamma 2.2 source encoding to be linearized (before optional sRGB encoding is applied)."),
422 TSE_BT1886 = 5 UMETA(DisplayName = "BT1886/Gamma 2.4", ToolTip = "BT1886/Gamma 2.4 source encoding to be linearized (before optional sRGB encoding is applied)."),
423 TSE_Gamma26 = 6 UMETA(DisplayName = "Gamma 2.6", ToolTip = "Gamma 2.6 source encoding to be linearized (before optional sRGB encoding is applied)."),
424 TSE_Cineon = 7 UMETA(DisplayName = "Cineon", ToolTip = "Cineon source encoding to be linearized (before optional sRGB encoding is applied)."),
425 TSE_REDLog = 8 UMETA(DisplayName = "REDLog", ToolTip = "RED Log source encoding to be linearized (before optional sRGB encoding is applied)."),
426 TSE_REDLog3G10 = 9 UMETA(DisplayName = "REDLog3G10", ToolTip = "RED Log3G10 source encoding to be linearized (before optional sRGB encoding is applied)."),
427 TSE_SLog1 = 10 UMETA(DisplayName = "SLog1", ToolTip = "Sony SLog1 source encoding to be linearized (before optional sRGB encoding is applied)."),
428 TSE_SLog2 = 11 UMETA(DisplayName = "SLog2", ToolTip = "Sony SLog2 source encoding to be linearized (before optional sRGB encoding is applied)."),
429 TSE_SLog3 = 12 UMETA(DisplayName = "SLog3", ToolTip = "Sony SLog3 source encoding to be linearized (before optional sRGB encoding is applied)."),
430 TSE_AlexaV3LogC = 13 UMETA(DisplayName = "AlexaV3LogC", ToolTip = "ARRI Alexa V3 LogC source encoding to be linearized (before optional sRGB encoding is applied)."),
431 TSE_CanonLog = 14 UMETA(DisplayName = "CanonLog", ToolTip = "Canon Log source encoding to be linearized (before optional sRGB encoding is applied)."),
432 TSE_ProTune = 15 UMETA(DisplayName = "ProTune", ToolTip = "GoPro ProTune source encoding to be linearized (before optional sRGB encoding is applied)."),
433 TSE_VLog = 16 UMETA(DisplayName = "V-Log", ToolTip = "Panasonic V-Log source encoding to be linearized (before optional sRGB encoding is applied)."),
434 TSE_MAX,
435};
436
437//TODO: Rename nearly-colliding ETextureSourceColorSpace enum in TextureFactory.h
439UENUM()
441{
442 TCS_None = 0 UMETA(DisplayName = "None", ToolTip = "No explicit color space definition."),
443 TCS_sRGB = 1 UMETA(DisplayName = "sRGB / Rec709", ToolTip = "sRGB / Rec709 (BT.709) color primaries, with D65 white point."),
444 TCS_Rec2020 = 2 UMETA(DisplayName = "Rec2020", ToolTip = "Rec2020 (BT.2020) primaries with D65 white point."),
445 TCS_ACESAP0 = 3 UMETA(DIsplayName = "ACES AP0", ToolTip = "ACES AP0 wide gamut primaries, with D60 white point."),
446 TCS_ACESAP1 = 4 UMETA(DIsplayName = "ACES AP1 / ACEScg", ToolTip = "ACES AP1 / ACEScg wide gamut primaries, with D60 white point."),
447 TCS_P3DCI = 5 UMETA(DisplayName = "P3DCI", ToolTip = "P3 (Theater) primaries, with DCI Calibration white point."),
448 TCS_P3D65 = 6 UMETA(DisplayName = "P3D65", ToolTip = "P3 (Display) primaries, with D65 white point."),
449 TCS_REDWideGamut = 7 UMETA(DisplayName = "RED Wide Gamut", ToolTip = "RED Wide Gamut primaries, with D65 white point."),
450 TCS_SonySGamut3 = 8 UMETA(DisplayName = "Sony S-Gamut3", ToolTip = "Sony S-Gamut/S-Gamut3 primaries, with D65 white point."),
451 TCS_SonySGamut3Cine = 9 UMETA(DisplayName = "Sony S-Gamut3 Cine", ToolTip = "Sony S-Gamut3 Cine primaries, with D65 white point."),
452 TCS_AlexaWideGamut = 10 UMETA(DisplayName = "Alexa Wide Gamut", ToolTip = "Alexa Wide Gamut primaries, with D65 white point."),
453 TCS_CanonCinemaGamut = 11 UMETA(DisplayName = "Canon Cinema Gamut", ToolTip = "Canon Cinema Gamut primaries, with D65 white point."),
454 TCS_GoProProtuneNative = 12 UMETA(DisplayName = "GoPro Protune Native", ToolTip = "GoPro Protune Native primaries, with D65 white point."),
455 TCS_PanasonicVGamut = 13 UMETA(DisplayName = "Panasonic V-Gamut", ToolTip = "Panasonic V-Gamut primaries, with D65 white point."),
456 TCS_Custom = 99 UMETA(DisplayName = "Custom", ToolTip = "User defined color space and white point."),
457 TCS_MAX,
458};
459
460UENUM()
462{
464 TCPTS_FromTextureGroup UMETA(DisplayName = "FromTextureGroup"),
466 TCPTS_Tile UMETA(DisplayName = "Tile during cook"),
468 TCPTS_DoNotTile UMETA(DisplayName = "Do not tile during cook"),
470};
471
473UENUM()
475{
476 TCAM_None = 0 UMETA(DisplayName = "None", ToolTip = "No chromatic adaptation is applied."),
477 TCAM_Bradford = 1 UMETA(DisplayName = "Bradford", ToolTip = "Chromatic adaptation is applied using the Bradford method."),
478 TCAM_CAT02 = 2 UMETA(DisplayName = "CAT02", ToolTip = "Chromatic adaptation is applied using the CAT02 method."),
479 TCAM_MAX,
480};
481
482
483UENUM()
485{
486 TF_Nearest UMETA(DisplayName="Nearest"),
487 TF_Bilinear UMETA(DisplayName="Bi-linear"),
488 TF_Trilinear UMETA(DisplayName="Tri-linear"),
490 TF_Default UMETA(DisplayName="Default (from Texture Group)"),
492};
493
494UENUM()
496{
497 TA_Wrap UMETA(DisplayName="Wrap"),
498 TA_Clamp UMETA(DisplayName="Clamp"),
499 TA_Mirror UMETA(DisplayName="Mirror"),
501};
502
503UENUM()
511
512// TextureCompressionQuality is used for ASTC
513UENUM()
515{
516 TCQ_Default = 0 UMETA(DisplayName="Default"),
517 TCQ_Lowest = 1 UMETA(DisplayName="Lowest (ASTC 12x12)"),
518 TCQ_Low = 2 UMETA(DisplayName="Low (ASTC 10x10)"),
519 TCQ_Medium = 3 UMETA(DisplayName="Medium (ASTC 8x8)"),
520 TCQ_High= 4 UMETA(DisplayName="High (ASTC 6x6)"),
521 TCQ_Highest = 5 UMETA(DisplayName="Highest (ASTC 4x4)"),
523};
524
525UENUM()
527{
528 TSM_Invalid = 0, // Unknown / not set
529 TSM_NotStreamed, // not streamed (fully resident all the time)
530 TSM_Streamed, // traditional whole-mip streaming
531 TSM_VirtualStreamed // virtual texture (VT)
533
534
535namespace UE
536{
537namespace TextureDefines
538{
539
541{
543}
544
545inline bool IsHDR(TextureCompressionSettings CompressionSettings)
546{
547 switch(CompressionSettings)
548 {
549 case TC_HDR:
550 case TC_HDR_F32:
552 case TC_HalfFloat:
553 case TC_SingleFloat:
554 return true;
555 default:
556 return false;
557 }
558}
559
560inline bool IsUncompressed(TextureCompressionSettings CompressionSettings)
561{
562 return (CompressionSettings == TC_Grayscale ||
563 CompressionSettings == TC_Displacementmap ||
564 CompressionSettings == TC_VectorDisplacementmap ||
565 CompressionSettings == TC_HDR ||
566 CompressionSettings == TC_HDR_F32 ||
567 CompressionSettings == TC_EditorIcon ||
568 CompressionSettings == TC_DistanceFieldFont ||
569 CompressionSettings == TC_HalfFloat ||
570 CompressionSettings == TC_SingleFloat
571 );
572}
573
575{
576 // these formats should do R -> RGB red to gray replication in Editor viz
577 return (CompressionSettings == TC_Grayscale ||
578 CompressionSettings == TC_Alpha ||
579 CompressionSettings == TC_Displacementmap ||
580 CompressionSettings == TC_DistanceFieldFont );
581
582 // ?? maybe these too ??
583 // CompressionSettings == TC_HalfFloat ||
584 // CompressionSettings == TC_SingleFloat
585}
586
587
588} // TextureDefines
589} // UE
590
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
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 UENUM(...)
Definition ObjectMacros.h:749
EPixelFormat
Definition PixelFormat.h:16
ECompositeTextureMode
Definition TextureDefines.h:319
@ CTM_MAX
Definition TextureDefines.h:329
ETextureLossyCompressionAmount
Definition TextureDefines.h:270
ETextureStreamingMethod
Definition TextureDefines.h:527
@ TSM_Invalid
Definition TextureDefines.h:528
@ TSM_NotStreamed
Definition TextureDefines.h:529
@ TSM_VirtualStreamed
Definition TextureDefines.h:531
@ TSM_Streamed
Definition TextureDefines.h:530
ETextureMipCount
Definition TextureDefines.h:505
@ TMC_MAX
Definition TextureDefines.h:509
@ TMC_ResidentMips
Definition TextureDefines.h:506
@ TMC_AllMipsBiased
Definition TextureDefines.h:508
@ TMC_AllMips
Definition TextureDefines.h:507
ETextureSourceFormat
Definition TextureDefines.h:351
@ TSF_G16
Definition TextureDefines.h:364
@ TSF_RGBA16F
Definition TextureDefines.h:357
@ TSF_RGBE8_DEPRECATED
Definition TextureDefines.h:362
@ TSF_BGRE8
Definition TextureDefines.h:355
@ TSF_BGRA8
Definition TextureDefines.h:354
@ TSF_R16F
Definition TextureDefines.h:366
@ TSF_MAX
Definition TextureDefines.h:369
@ TSF_RGBA16
Definition TextureDefines.h:356
@ TSF_RGBA32F
Definition TextureDefines.h:365
@ TSF_Invalid
Definition TextureDefines.h:352
@ TSF_G8
Definition TextureDefines.h:353
@ TSF_R32F
Definition TextureDefines.h:367
@ TSF_RGBA8_DEPRECATED
Definition TextureDefines.h:361
TextureFilter
Definition TextureDefines.h:485
@ TF_MAX
Definition TextureDefines.h:491
ETextureColorSpace
Definition TextureDefines.h:441
ETextureCompressionQuality
Definition TextureDefines.h:515
@ TCQ_Medium
Definition TextureDefines.h:519
@ TCQ_High
Definition TextureDefines.h:520
@ TCQ_Highest
Definition TextureDefines.h:521
@ TCQ_Low
Definition TextureDefines.h:518
@ TCQ_MAX
Definition TextureDefines.h:522
@ TCQ_Lowest
Definition TextureDefines.h:517
@ TCQ_Default
Definition TextureDefines.h:516
TextureAddress
Definition TextureDefines.h:496
@ UMETA
Definition TextureDefines.h:30
@ TA_MAX
Definition TextureDefines.h:500
TextureCompressionSettings
Definition TextureDefines.h:392
@ TC_MAX
Definition TextureDefines.h:410
ETextureDownscaleOptions
Definition TextureDefines.h:237
ETextureEncodeSpeed
Definition TextureDefines.h:287
ETextureSamplerFilter
Definition TextureDefines.h:209
ETextureMipLoadOptions
Definition TextureDefines.h:219
TextureMipGenSettings
Definition TextureDefines.h:129
@ TMGS_MAX
Definition TextureDefines.h:169
ENGINE_API FTextureSourceFormatInfo GTextureSourceFormats[TSF_MAX]
Definition TextureSourceFormat.cpp:18
TextureGroup
Definition TextureDefines.h:29
@ TEXTUREGROUP_MAX
Definition TextureDefines.h:124
ETextureSourceEncoding
Definition TextureDefines.h:416
TextureCookPlatformTilingSettings
Definition TextureDefines.h:462
@ TCPTS_MAX
Definition TextureDefines.h:469
ETextureChromaticAdaptationMethod
Definition TextureDefines.h:475
ETextureAvailability
Definition TextureDefines.h:230
ETextureClass
Definition TextureDefines.h:299
ETextureSourceCompressionFormat
Definition TextureDefines.h:338
@ TSCF_MAX
Definition TextureDefines.h:345
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition TextureDefines.h:179
Type
Definition TextureDefines.h:181
@ PadToPowerOfTwo
Definition TextureDefines.h:186
@ ResizeToSpecificResolution
Definition TextureDefines.h:198
@ StretchToPowerOfTwo
Definition TextureDefines.h:192
@ StretchToSquarePowerOfTwo
Definition TextureDefines.h:195
@ PadToSquarePowerOfTwo
Definition TextureDefines.h:189
bool ShouldUseGreyScaleEditorVisualization(TextureCompressionSettings CompressionSettings)
Definition TextureDefines.h:574
bool IsUncompressed(TextureCompressionSettings CompressionSettings)
Definition TextureDefines.h:560
bool IsHDR(ETextureSourceFormat Format)
Definition TextureDefines.h:540
Definition AdvancedWidgetsModule.cpp:13
Definition TextureDefines.h:376
int32 NumComponents
Definition TextureDefines.h:383
const TCHAR * Name
Definition TextureDefines.h:382
int32 BytesPerPixel
Definition TextureDefines.h:384
ETextureSourceFormat TextureSourceFormat
Definition TextureDefines.h:380
EPixelFormat PixelFormat
Definition TextureDefines.h:381