UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Texture2DResource.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5/*=============================================================================
6 Texture2DResource.h: Implementation of FTexture2DResource used by streamable UTexture2D.
7=============================================================================*/
8
9#include "CoreMinimal.h"
11
16{
17public:
25
30 virtual ~FTexture2DResource();
31
32 // Dynamic cast methods.
33 virtual FTexture2DResource* GetTexture2DResource() { return this; }
34 // Dynamic cast methods (const).
35 virtual const FTexture2DResource* GetTexture2DResource() const { return this; }
36
39
41 virtual uint64 GetPlatformMipsSize(uint32 NumMips) const override;
42
43 virtual void InitRHI(FRHICommandListBase& RHICmdList) override;
44 virtual bool IsProxy() const override { return ProxiedResource != nullptr; }
45
46 // returns mip size in bytes; fills OutPitch
48
49 // warn if "Pitch" is not compatible with tight-packed requirement
51
52private:
60
61 virtual void CreateTexture(FRHICommandListBase& RHICmdList) final override;
62 virtual void CreatePartiallyResidentTexture(FRHICommandListBase& RHICmdList) final override;
63
65 friend class UTexture2D;
66 friend class FTexture2DUpdate;
68
70 FTexture2DResourceMem* ResourceMem;
71
73 const FTexture2DResource* const ProxiedResource = nullptr;
74
78
85 void GetData( uint32 MipIndex,void* Dest,uint32 DestPitch, uint64 DestSize );
86};
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EPixelFormat
Definition PixelFormat.h:16
auto GetData(const TStringConversion< Converter, DefaultConversionSize > &Conversion) -> decltype(Conversion.Get())
Definition StringConv.h:802
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition RHICommandList.h:455
Definition StreamableTextureResource.h:20
uint32 SizeY
Definition StreamableTextureResource.h:103
EPixelFormat PixelFormat
Definition StreamableTextureResource.h:114
uint32 SizeX
Definition StreamableTextureResource.h:101
Definition Texture2DMipAllocator_Virtual.h:20
Definition ResourceArray.h:178
Definition Texture2DResource.h:16
virtual void InitRHI(FRHICommandListBase &RHICmdList) override
Definition Texture2DResource.cpp:99
virtual FTexture2DResource * GetTexture2DResource()
Definition Texture2DResource.h:33
void CacheSamplerStateInitializer(const UTexture2D *InOwner)
Definition Texture2DResource.cpp:85
static void WarnRequiresTightPackedMip(int32 SizeX, int32 SizeY, EPixelFormat PixelFormat, uint32 Pitch)
Definition Texture2DResource.cpp:267
virtual bool IsProxy() const override
Definition Texture2DResource.h:44
static uint32 CalculateTightPackedMipSize(int32 SizeX, int32 SizeY, EPixelFormat PixelFormat, uint32 &OutPitch)
Definition Texture2DResource.cpp:246
virtual const FTexture2DResource * GetTexture2DResource() const
Definition Texture2DResource.h:35
virtual uint64 GetPlatformMipsSize(uint32 NumMips) const override
Definition Texture2DResource.cpp:207
virtual ~FTexture2DResource()
Definition Texture2DResource.cpp:61
Definition Texture2DUpdate.h:54
Definition Array.h:670
Definition Texture2D.h:26
Definition StreamableRenderResourceState.h:23