UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TextureResource.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5/*=============================================================================
6 Texture.h: Unreal texture related classes.
7=============================================================================*/
8
9#include "CoreMinimal.h"
12#include "Stats/Stats.h"
13#include "Containers/List.h"
14#include "Async/AsyncWork.h"
16#include "RHI.h"
17#include "RenderResource.h"
21#include "UnrealClient.h"
22#include "Templates/UniquePtr.h"
23#include "VirtualTexturing.h"
24
26class UTexture;
27class UTexture2D;
28class UTexture2DArray;
29class IVirtualTexture;
37enum class EVTProducerPriority : uint8;
38
40#define MAX_TEXTURE_SOURCE_SLICES 6
41
46{
51
58
60 FTexture2DMipMap() = default;
63 {
64 if (InSizeX > 0xFFFF || InSizeY > 0xFFFF || InSizeZ > 0xFFFF)
65 {
66 LowLevelFatalError(TEXT("texture mip size doesn't fit in 16 bits! %ux%ux%u"), InSizeX, InSizeY, InSizeZ);
67 }
68 }
73 ~FTexture2DMipMap() = default;
75
78
79#if WITH_EDITORONLY_DATA
82
83 UE_DEPRECATED(5.1, "Use DerivedData.HasData().")
85
87 inline bool IsPagedToDerivedData() const { return DerivedData.HasData(); }
88
89 UE_DEPRECATED(5.1, "Setting DerivedData is sufficient to control this state.")
91 {
92 }
93
95 int64 StoreInDerivedDataCache(FStringView Key, FStringView Name, bool bReplaceExisting);
96#endif // #if WITH_EDITORONLY_DATA
97};
98
103{
104public:
105
107 virtual ~FTextureResource() {}
108
112 virtual bool IsProxy() const { return false; }
113
114 // Dynamic cast methods.
115 virtual FTexture2DResource* GetTexture2DResource() { return nullptr; }
116 virtual FTexture3DResource* GetTexture3DResource() { return nullptr; }
120 // Dynamic cast methods (const).
121 virtual const FTexture2DResource* GetTexture2DResource() const { return nullptr; }
122 virtual const FTexture3DResource* GetTexture3DResource() const { return nullptr; }
123 virtual const FTexture2DArrayResource* GetTexture2DArrayResource() const { return nullptr; }
124 virtual const FStreamableTextureResource* GetStreamableTextureResource() const { return nullptr; }
125 virtual const FVirtualTexture2DResource* GetVirtualTexture2DResource() const { return nullptr; }
126
127 // Current mip count. We use "current" to specify that it is not computed from SizeX() which is the size when fully streamed in.
129 {
130 return TextureRHI.IsValid() ? TextureRHI->GetNumMips() : 0;
131 }
132
134 {
136 }
137
139 {
140 return TextureRHI.IsValid() ? TextureRHI->GetTexture2D() : nullptr;
141 }
142
144 {
145 return TextureRHI.IsValid() ? TextureRHI->GetTexture3D() : nullptr;
146 }
147
149 {
150 return TextureRHI.IsValid() ? TextureRHI->GetTexture2DArray() : nullptr;
151 }
152
154 {
155 TextureReferenceRHI = TextureReference;
156 }
157
162
163#if STATS
164 /* The Stat_ FName corresponding to each TEXTUREGROUP */
166#endif
167
168protected :
169 // A FRHITextureReference to update whenever the FTexture::TextureRHI changes.
170 // It allows to prevent dereferencing the UAsset pointers when updating a texture resource.
172};
173
175{
176public:
180
181 ENGINE_API virtual void InitRHI(FRHICommandListBase& RHICmdList) override;
182 ENGINE_API virtual void ReleaseRHI() override;
183
184 // Dynamic cast methods.
186 // Dynamic cast methods (const).
187 virtual const FVirtualTexture2DResource* GetVirtualTexture2DResource() const { return this; }
188
189#if WITH_EDITOR
191#endif
192
193 ENGINE_API virtual uint32 GetSizeX() const override;
194 ENGINE_API virtual uint32 GetSizeY() const override;
195
197
209
210 ENGINE_API virtual EPixelFormat GetFormat(uint32 LayerIndex) const;
211 ENGINE_API virtual FIntPoint GetSizeInBlocks() const;
212 ENGINE_API virtual uint32 GetNumTilesX() const;
213 ENGINE_API virtual uint32 GetNumTilesY() const;
214 ENGINE_API virtual uint32 GetNumMips() const;
215 ENGINE_API virtual uint32 GetNumLayers() const;
216 ENGINE_API virtual uint32 GetTileSize() const; //no borders
217 ENGINE_API virtual uint32 GetBorderSize() const;
219
220 ENGINE_API virtual FIntPoint GetPhysicalTextureSize(uint32 LayerIndex) const;
221
222protected:
246};
247
250{
251public:
254
256 ENGINE_API virtual uint32 GetSizeX() const override;
257
259 ENGINE_API virtual uint32 GetSizeY() const override;
260
262 ENGINE_API virtual void InitRHI(FRHICommandListBase& RHICmdList) override;
263
265 ENGINE_API virtual void ReleaseRHI() override;
266
269
270#if !UE_SERVER
272#endif
273
274private:
278 FTextureRHIRef Texture2DRHI;
279};
280
286{
287public:
288
293 : UpdateListLink(NULL)
294 , bOnlyUpdateOnce(false)
295 { }
296
297public:
298
303 ENGINE_API static void UpdateResources( FRHICommandListImmediate& RHICmdList );
304
309
313 static void ResetNeedsUpdate()
314 {
315 bNeedsUpdate = true;
316 }
317
318 static bool IsUpdateNeeded()
319 {
320 return bNeedsUpdate;
321 }
322
324protected:
325
331 virtual void UpdateDeferredResource( FRHICommandListImmediate& RHICmdList, bool bClearRenderTarget=true ) = 0;
332
338
343
344private:
345
350 static TLinkedList<FDeferredUpdateResource*>*& GetUpdateList();
354 ENGINE_API static bool bNeedsUpdate;
356 bool bOnlyUpdateOnce;
357};
358
363{
364public:
370
376
377 // FRenderTarget implementation
378 virtual const FTextureRHIRef& GetShaderResourceTexture() const override;
379
380 // FTextureRenderTargetResource interface
381
386
387 virtual void ClampSize(int32 SizeX,int32 SizeY) {}
388
389 // GetSizeX/GetSizeY are from "FTexture" interface.
390 // the FTexture implementations return zero; force them to be implemented:
391 virtual uint32 GetSizeX() const override = 0;
392 virtual uint32 GetSizeY() const override = 0;
393 // also GetSizeZ()
394 // GetSizeXY from "FRenderTarget"
395 //virtual FIntPoint GetSizeXY() const override = 0;
396
402 virtual float GetDisplayGamma() const override;
403
404 virtual FRHIGPUMask GetGPUMask(FRHICommandListImmediate& RHICmdList) const final override
405 {
406 return GPUMask & ActiveGPUMask;
407 }
408
409 // Changes the GPUMask used when updating the texture with multi-GPU.
411 {
413 check(GPUMask.ContainsAll(InGPUMask));
414 ActiveGPUMask = InGPUMask;
415 }
416
417protected:
419 {
421 ActiveGPUMask = GPUMask = InGPUMask;
422 }
423
424private:
425 FRHIGPUMask GPUMask;
426 FRHIGPUMask ActiveGPUMask; // GPU mask copied from parent render target for multi-GPU
427};
428
433{
434public:
435
442
444 {
445 return ClearColor;
446 }
447
448 inline EPixelFormat GetFormat() const
449 {
450 return Format;
451 }
452
454
455 // FTextureRenderTargetResource interface
456
461 {
462 return this;
463 }
464
471 virtual void ClampSize(int32 SizeX,int32 SizeY) override;
472
473 // FRenderResource interface.
474
481 virtual void InitRHI(FRHICommandListBase& RHICmdList) override;
482
489 virtual void ReleaseRHI() override;
490
491 // FDeferredClearResource interface
492
493 // FRenderTarget interface.
497 virtual uint32 GetSizeX() const override;
498
502 virtual uint32 GetSizeY() const override;
503
507 virtual FIntPoint GetSizeXY() const override;
508
514 virtual float GetDisplayGamma() const override;
515
519 FUnorderedAccessViewRHIRef GetUnorderedAccessViewRHI() { return UnorderedAccessViewRHI; }
520
521protected:
528 virtual void UpdateDeferredResource(FRHICommandListImmediate& RHICmdList, bool bClearRenderTarget=true) override;
530
532 friend class FScene;
533 friend class FSceneCapturePass;
534 inline void Resize(FRHICommandListBase& RHICmdList, int32 NewSizeX, int32 NewSizeY, bool bAutoGenerateMips)
535 {
536 int32 NewNumMips = bAutoGenerateMips ? FMath::FloorLog2(FMath::Max(NewSizeX, NewSizeY)) + 1 : 1;
537 if (TargetSizeX != NewSizeX || TargetSizeY != NewSizeY || TargetNumMips != NewNumMips)
538 {
539 TargetSizeX = NewSizeX;
540 TargetSizeY = NewSizeY;
541 TargetNumMips = NewNumMips;
542 UpdateRHI(RHICmdList);
543 }
544 }
545
546private:
548 const class UTextureRenderTarget2D* Owner;
550 UE_DEPRECATED(5.1, "Texture2DRHI is deprecated. Use TextureRHI instead.")
551 FTextureRHIRef Texture2DRHI;
553 FUnorderedAccessViewRHIRef UnorderedAccessViewRHI;
555 FLinearColor ClearColor;
557 int32 TargetSizeX,TargetSizeY;
558 int32 TargetNumMips;
559 TRefCountPtr<IPooledRenderTarget> MipGenerationCache;
560};
561
566{
567public:
568
577
582 {
583 return this;
584 }
585
592 virtual void InitRHI(FRHICommandListBase& RHICmdList) override;
593
600 virtual void ReleaseRHI() override;
601
602 // FRenderTarget interface.
603
607 virtual uint32 GetSizeX() const override;
608
612 virtual uint32 GetSizeY() const override;
613
617 virtual FIntPoint GetSizeXY() const override;
618
622 FUnorderedAccessViewRHIRef GetUnorderedAccessViewRHI() { return UnorderedAccessViewRHI; }
623
629 float GetDisplayGamma() const override;
630
638 UE_DEPRECATED(5.4, "Use FRenderTarget's ReadPixels, which is functionally equivalent")
640
650
659
660private:
662 const class UTextureRenderTargetCube* Owner;
663
664 UE_DEPRECATED(5.1, "TextureCubeRHI is deprecated. Use TextureRHI instead.")
665 FTextureRHIRef TextureCubeRHI;
666
667 UE_DEPRECATED(5.1, "CubeFaceSurfaceRHI is deprecated. Use TextureRHI instead.")
668 FTextureRHIRef CubeFaceSurfaceRHI;
669
670 UE_DEPRECATED(5.1, "RenderTargetCubeRHI is deprecated. Use TextureRHI instead.")
671 FTextureRHIRef RenderTargetCubeRHI;
672
674 FUnorderedAccessViewRHIRef UnorderedAccessViewRHI;
675
677 ECubeFace CurrentTargetFace;
678};
679
688
692
693// returns all the texture formats which can be returned by GetDefaultTextureFormatName
#define NULL
Definition oodle2base.h:134
#define check(expr)
Definition AssertionMacros.h:314
#define LowLevelFatalError(Format,...)
Definition AssertionMacros.h:554
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
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
return true
Definition ExternalRpcRegistry.cpp:601
EFileRegionType
Definition FileRegions.h:15
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
const bool
Definition NetworkReplayStreaming.h:178
EPixelFormat
Definition PixelFormat.h:16
@ AM_Wrap
Definition RHIDefinitions.h:340
#define TexCreate_Virtual
Definition RHIDefinitions.h:1215
ECubeFace
Definition RHIDefinitions.h:525
@ SF_Point
Definition RHIDefinitions.h:327
ETextureCreateFlags
Definition RHIDefinitions.h:1091
@ TEXTUREGROUP_MAX
Definition TextureDefines.h:124
ENGINE_API FName GetDefaultTextureFormatName(const class ITargetPlatform *TargetPlatform, const class UTexture *Texture, int32 LayerIndex, bool bSupportCompressedVolumeTexture, int32 Unused_BlockSize, bool bSupportFilteredFloat32Textures)
ENGINE_API void GetDefaultTextureFormatNamePerLayer(TArray< FName > &OutFormatNames, const class ITargetPlatform *TargetPlatform, const class UTexture *Texture, bool bSupportCompressedVolumeTexture, int32 Unused_BlockSize, bool bSupportFilteredFloat32Textures)
Definition Texture.cpp:4552
ENGINE_API void GetAllDefaultTextureFormats(const class ITargetPlatform *TargetPlatform, TArray< FName > &OutFormats)
Definition Texture.cpp:4616
CORE_API bool IsInRenderingThread()
Definition ThreadingBase.cpp:273
EVTProducerPriority
Definition VirtualTextureEnum.h:11
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition TextureResource.h:286
static ENGINE_API void UpdateResources(FRHICommandListImmediate &RHICmdList)
Definition TextureRenderTarget.cpp:600
static bool IsUpdateNeeded()
Definition TextureResource.h:318
ENGINE_API void ResetSceneTextureExtentsHistory()
Definition TextureRenderTarget.cpp:674
ENGINE_API void RemoveFromDeferredUpdateList()
Definition TextureRenderTarget.cpp:669
ENGINE_API void FlushDeferredResourceUpdate(FRHICommandListImmediate &RHICmdList)
Definition TextureRenderTarget.cpp:626
ENGINE_API void AddToDeferredUpdateList(bool OnlyUpdateOnce)
Definition TextureRenderTarget.cpp:645
virtual void UpdateDeferredResource(FRHICommandListImmediate &RHICmdList, bool bClearRenderTarget=true)=0
FDeferredUpdateResource()
Definition TextureResource.h:292
static void ResetNeedsUpdate()
Definition TextureResource.h:313
Definition Float16Color.h:13
Definition NameTypes.h:617
Definition UnrealType.h:3087
Definition RHICommandList.h:455
Definition RHICommandList.h:4626
Definition RHITextureReference.h:8
Definition RHIResources.h:2153
FRHITexture * GetTexture2D()
Definition RHIResources.h:2317
uint32 GetNumMips() const
Definition RHIResources.h:2338
FRHITexture * GetTexture2DArray()
Definition RHIResources.h:2319
ETextureCreateFlags GetFlags() const
Definition RHIResources.h:2344
FRHITexture * GetTexture3D()
Definition RHIResources.h:2321
Definition RHITypes.h:16
RENDERCORE_API void UpdateRHI(FRHICommandListBase &RHICmdList)
Definition RenderResource.cpp:225
Definition UnrealClient.h:30
virtual ENGINE_API bool ReadPixels(TArray< FColor > &OutImageData, FReadSurfaceDataFlags InFlags=FReadSurfaceDataFlags(RCM_UNorm, CubeFace_MAX), FIntRect InSrcRect=FIntRect(0, 0, 0, 0))
Definition UnrealClient.cpp:54
ENGINE_API bool ReadFloat16Pixels(TArray< FFloat16Color > &OutImageData, ECubeFace CubeFace)
Definition UnrealClient.cpp:88
Definition SceneCaptureRendering.cpp:1008
Definition ScenePrivate.h:2875
Definition StreamableTextureResource.h:20
Definition Texture2DArrayResource.h:18
Definition TextureResource.h:250
ENGINE_API void WriteRawToTexture_RenderThread(TArrayView64< const uint8 > RawData)
Definition Texture2DDynamic.cpp:94
virtual ENGINE_API void ReleaseRHI() override
Definition Texture2DDynamic.cpp:80
virtual ENGINE_API void InitRHI(FRHICommandListBase &RHICmdList) override
Definition Texture2DDynamic.cpp:39
ENGINE_API FTextureRHIRef GetTexture2DRHI()
Definition Texture2DDynamic.cpp:88
virtual ENGINE_API uint32 GetSizeX() const override
Definition Texture2DDynamic.cpp:27
virtual ENGINE_API uint32 GetSizeY() const override
Definition Texture2DDynamic.cpp:33
Definition ResourceArray.h:178
Definition Texture2DResource.h:16
Definition Texture3DResource.h:65
Definition TextureRenderTarget2DArrayResource.h:12
Definition TextureResource.h:433
virtual void UpdateDeferredResource(FRHICommandListImmediate &RHICmdList, bool bClearRenderTarget=true) override
Definition TextureRenderTarget2D.cpp:619
void Resize(int32 NewSizeX, int32 NewSizeY, int32 NewNumMips)
Definition TextureRenderTarget2D.cpp:661
virtual FIntPoint GetSizeXY() const override
Definition TextureRenderTarget2D.cpp:691
FUnorderedAccessViewRHIRef GetUnorderedAccessViewRHI()
Definition TextureResource.h:519
EPixelFormat GetFormat() const
Definition TextureResource.h:448
virtual void InitRHI(FRHICommandListBase &RHICmdList) override
Definition TextureRenderTarget2D.cpp:523
virtual void ClampSize(int32 SizeX, int32 SizeY) override
Definition TextureRenderTarget2D.cpp:476
virtual float GetDisplayGamma() const override
Definition TextureRenderTarget2D.cpp:721
void Resize(FRHICommandListBase &RHICmdList, int32 NewSizeX, int32 NewSizeY, bool bAutoGenerateMips)
Definition TextureResource.h:534
ETextureCreateFlags GetCreateFlags()
Definition TextureRenderTarget2D.cpp:491
virtual uint32 GetSizeX() const override
Definition TextureRenderTarget2D.cpp:675
virtual class FTextureRenderTarget2DResource * GetTextureRenderTarget2DResource() override
Definition TextureResource.h:460
virtual void ReleaseRHI() override
Definition TextureRenderTarget2D.cpp:598
FLinearColor GetClearColor()
Definition TextureResource.h:443
virtual uint32 GetSizeY() const override
Definition TextureRenderTarget2D.cpp:683
Definition TextureResource.h:566
FTextureRenderTargetCubeResource(const class UTextureRenderTargetCube *InOwner)
Definition TextureResource.h:573
virtual class FTextureRenderTargetCubeResource * GetTextureRenderTargetCubeResource()
Definition TextureResource.h:581
FUnorderedAccessViewRHIRef GetUnorderedAccessViewRHI()
Definition TextureResource.h:622
Definition TextureResource.h:363
virtual uint32 GetSizeY() const override=0
virtual class FTextureRenderTarget2DResource * GetTextureRenderTarget2DResource()
Definition TextureResource.h:382
virtual class FTextureRenderTargetVolumeResource * GetTextureRenderTargetVolumeResource()
Definition TextureResource.h:384
void SetGPUMask(FRHIGPUMask InGPUMask)
Definition TextureResource.h:418
FTextureRenderTargetResource()
Definition TextureResource.h:368
virtual const FTextureRHIRef & GetShaderResourceTexture() const override
Definition TextureRenderTarget.cpp:545
virtual class FTextureRenderTarget2DArrayResource * GetTextureRenderTarget2DArrayResource()
Definition TextureResource.h:383
virtual float GetDisplayGamma() const override
Definition TextureRenderTarget.cpp:568
virtual void ClampSize(int32 SizeX, int32 SizeY)
Definition TextureResource.h:387
void SetActiveGPUMask(FRHIGPUMask InGPUMask)
Definition TextureResource.h:410
static ENGINE_API bool IsSupportedFormat(EPixelFormat Format)
Definition TextureRenderTarget.cpp:517
virtual uint32 GetSizeX() const override=0
virtual class FTextureRenderTargetCubeResource * GetTextureRenderTargetCubeResource()
Definition TextureResource.h:385
virtual FRHIGPUMask GetGPUMask(FRHICommandListImmediate &RHICmdList) const final override
Definition TextureResource.h:404
Definition TextureRenderTargetVolumeResource.h:12
Definition TextureResource.h:103
virtual const FVirtualTexture2DResource * GetVirtualTexture2DResource() const
Definition TextureResource.h:125
virtual FVirtualTexture2DResource * GetVirtualTexture2DResource()
Definition TextureResource.h:119
FRHITexture * GetTexture2DRHI() const
Definition TextureResource.h:138
virtual const FStreamableTextureResource * GetStreamableTextureResource() const
Definition TextureResource.h:124
FRHITexture * GetTexture2DArrayRHI() const
Definition TextureResource.h:148
virtual const FTexture3DResource * GetTexture3DResource() const
Definition TextureResource.h:122
virtual const FTexture2DResource * GetTexture2DResource() const
Definition TextureResource.h:121
virtual const FTexture2DArrayResource * GetTexture2DArrayResource() const
Definition TextureResource.h:123
virtual FTexture2DResource * GetTexture2DResource()
Definition TextureResource.h:115
FTextureReferenceRHIRef TextureReferenceRHI
Definition TextureResource.h:171
virtual bool IsProxy() const
Definition TextureResource.h:112
virtual FStreamableTextureResource * GetStreamableTextureResource()
Definition TextureResource.h:118
FRHITexture * GetTexture3DRHI() const
Definition TextureResource.h:143
void SetTextureReference(FRHITextureReference *TextureReference)
Definition TextureResource.h:153
int32 GetCurrentMipCount() const
Definition TextureResource.h:128
bool IsTextureRHIPartiallyResident() const
Definition TextureResource.h:133
FTextureResource()
Definition TextureResource.h:106
virtual FTexture2DArrayResource * GetTexture2DArrayResource()
Definition TextureResource.h:117
FRHITextureReference * GetTextureReference() const
Definition TextureResource.h:158
virtual FTexture3DResource * GetTexture3DResource()
Definition TextureResource.h:116
virtual ~FTextureResource()
Definition TextureResource.h:107
Definition RenderResource.h:354
FTextureRHIRef TextureRHI
Definition RenderResource.h:358
Definition TextureResource.h:175
ENGINE_API FVirtualTexture2DResource()
Definition Texture2D.cpp:1536
EVTProducerPriority VirtualTextureStreamingPriority
Definition TextureResource.h:238
virtual ENGINE_API uint32 GetNumLayers() const
Definition Texture2D.cpp:1897
FVirtualTextureProducerHandle ProducerHandle
Definition TextureResource.h:245
TEnumAsByte< ESamplerAddressMode > AddressU
Definition TextureResource.h:231
TEnumAsByte< ESamplerAddressMode > AddressV
Definition TextureResource.h:232
virtual ENGINE_API FIntPoint GetPhysicalTextureSize(uint32 LayerIndex) const
Definition Texture2D.cpp:1916
ENGINE_API void ReleaseAllocatedVT()
Definition Texture2D.cpp:1847
virtual ENGINE_API uint32 GetNumTilesY() const
Definition Texture2D.cpp:1881
virtual ENGINE_API uint32 GetTileSize() const
Definition Texture2D.cpp:1902
virtual ENGINE_API FIntPoint GetSizeInBlocks() const
Definition Texture2D.cpp:1871
FName PackageName
Definition TextureResource.h:226
bool bRequiresSinglePhysicalPool
Definition TextureResource.h:237
ETextureCreateFlags TexCreateFlags
Definition TextureResource.h:234
virtual ENGINE_API uint32 GetNumMips() const
Definition Texture2D.cpp:1891
struct FVirtualTextureBuiltData * VTData
Definition TextureResource.h:242
virtual ENGINE_API uint32 GetNumTilesX() const
Definition Texture2D.cpp:1876
int32 FirstMipToUse
Definition TextureResource.h:240
virtual ENGINE_API uint32 GetSizeY() const override
Definition Texture2D.cpp:1861
virtual const FVirtualTexture2DResource * GetVirtualTexture2DResource() const
Definition TextureResource.h:187
class IAllocatedVirtualTexture * AllocatedVT
Definition TextureResource.h:244
uint32 FullNameHash
Definition TextureResource.h:228
virtual ENGINE_API EPixelFormat GetFormat(uint32 LayerIndex) const
Definition Texture2D.cpp:1866
virtual FVirtualTexture2DResource * GetVirtualTexture2DResource()
Definition TextureResource.h:185
virtual ENGINE_API uint32 GetBorderSize() const
Definition Texture2D.cpp:1886
virtual ENGINE_API uint32 GetSizeX() const override
Definition Texture2D.cpp:1856
TEnumAsByte< ESamplerFilter > Filter
Definition TextureResource.h:230
class IAllocatedVirtualTexture * GetAllocatedVT() const
Definition TextureResource.h:206
FName TextureName
Definition TextureResource.h:224
virtual ENGINE_API ~FVirtualTexture2DResource()
Definition Texture2D.cpp:1590
ENGINE_API class IAllocatedVirtualTexture * AcquireAllocatedVT()
Definition Texture2D.cpp:1825
uint32 GetAllocatedvAddress() const
Definition Texture2D.cpp:1907
bool bSinglePhysicalSpace
Definition TextureResource.h:236
const FVirtualTextureProducerHandle & GetProducerHandle() const
Definition TextureResource.h:196
virtual ENGINE_API void InitRHI(FRHICommandListBase &RHICmdList) override
Definition Texture2D.cpp:1594
virtual ENGINE_API void ReleaseRHI() override
Definition Texture2D.cpp:1817
Definition VirtualTexturing.h:374
Definition VirtualTexturing.h:289
Definition Array.h:670
Definition EnumAsByte.h:22
Definition List.h:285
UE_FORCEINLINE_HINT bool IsValid() const
Definition RefCounting.h:594
Definition DerivedData.h:80
bool HasData() const
Definition DerivedData.h:101
Definition Object.h:95
Definition Texture2DArray.h:16
Definition Texture2DDynamic.h:35
Definition Texture2D.h:26
Definition TextureRenderTarget2D.h:104
Definition TextureRenderTargetCube.h:22
Definition Texture.h:1219
@ false
Definition radaudio_common.h:23
Definition Color.h:486
Definition Color.h:48
Definition MultiGPU.h:33
SGPU_CONSTEXPR bool ContainsAll(FRHIGPUMask Rhs) const
Definition MultiGPU.h:126
Definition TextureResource.h:46
FTexture2DMipMap & operator=(FTexture2DMipMap &&)=default
FTexture2DMipMap(FTexture2DMipMap &&)=default
FTexture2DMipMap(uint32 InSizeX, uint32 InSizeY, uint32 InSizeZ=0)
Definition TextureResource.h:61
~FTexture2DMipMap()=default
uint16 SizeZ
Definition TextureResource.h:57
FByteBulkData BulkData
Definition TextureResource.h:50
FTexture2DMipMap & operator=(const FTexture2DMipMap &)=default
PRAGMA_DISABLE_DEPRECATION_WARNINGS FTexture2DMipMap()=default
FTexture2DMipMap(const FTexture2DMipMap &)=default
uint16 SizeX
Definition TextureResource.h:53
uint16 SizeY
Definition TextureResource.h:55
UE::FDerivedData DerivedData
Definition TextureResource.h:48
Definition Texture.h:839
Definition VirtualTextureBuiltData.h:131
Definition RendererInterface.h:494
Definition IntPoint.h:25
Definition VirtualTexturing.h:33