UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TextureCollection.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Engine/DataAsset.h"
6#include "RenderResource.h"
7#include "TextureCollection.generated.h"
8
10class UTexture;
12
23
25{
27 virtual ~FBindlessTextureCollectionResource() override = default;
28
29 // FRenderResource Interface
30 virtual void InitRHI(FRHICommandListBase& RHICmdList) final;
31 virtual void ReleaseRHI() final;
32 // ~FRenderResource
33
35 {
36 check(ResourceCollectionRHI);
37 return ResourceCollectionRHI.GetReference();
38 }
39
40private:
41 TArray<FTextureResource*> InputTextureResources;
42 FRHIResourceCollectionRef ResourceCollectionRHI;
43};
44
45UCLASS(MinimalAPI, Experimental)
47{
49
50public:
51 UPROPERTY(EditAnywhere, Category=TextureCollection)
53
54 //~ Begin UObject Interface.
55#if WITH_EDITOR
56 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
57#endif // WITH_EDITOR
58 virtual void PostLoad() override;
59 //~ End UObject Interface.
60
62 ENGINE_API FTextureCollectionResource* GetResource() const;
64
65 virtual ENGINE_API FTextureCollectionResource* CreateResource();
66 ENGINE_API void ReleaseResource();
67 ENGINE_API void UpdateResource();
68
69 virtual bool IsVirtualCollection() const { return false; }
70
71protected:
72#if WITH_EDITOR
73 void NotifyMaterials();
74#endif
75
76 FTextureCollectionResource* PrivateResource = nullptr;
77 FTextureCollectionResource* PrivateResourceRenderThread = nullptr;
78};
#define check(expr)
Definition AssertionMacros.h:314
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_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition NameTypes.h:617
Definition RHICommandList.h:455
Definition RHIResourceCollection.h:46
Definition RenderResource.h:37
Definition TextureResource.h:103
Definition Array.h:670
UE_FORCEINLINE_HINT ReferencedType * GetReference() const
Definition RefCounting.h:584
Definition DataAsset.h:21
Definition TextureCollection.h:47
virtual bool IsVirtualCollection() const
Definition TextureCollection.h:69
Definition Texture.h:1219
Definition RobinHoodHashTable.h:18
Definition TextureCollection.h:25
virtual ~FBindlessTextureCollectionResource() override=default
FRHIResourceCollection * GetResourceCollectionRHI() const
Definition TextureCollection.h:34
virtual void ReleaseRHI() final
Definition TextureCollection.cpp:52
virtual void InitRHI(FRHICommandListBase &RHICmdList) final
Definition TextureCollection.cpp:38
Definition UnrealType.h:6865
Definition TextureCollection.h:14
FName CollectionName
Definition TextureCollection.h:21
bool bIsBindless
Definition TextureCollection.h:18
Definition ObjectPtr.h:488