UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
VolumeTexture.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3
4#pragma once
5
6#include "CoreMinimal.h"
8#include "Engine/Texture2D.h"
9#include "VolumeTexture.generated.h"
10
12
14
17{
19
20
21 FTexturePlatformData* PrivatePlatformData;
22
23public:
24
26 ENGINE_API void SetPlatformData(FTexturePlatformData* PlatformData);
28 ENGINE_API FTexturePlatformData* GetPlatformData();
30 ENGINE_API const FTexturePlatformData* GetPlatformData() const;
31
32#if WITH_EDITOR
33 TMap<FString, FTexturePlatformData*> CookedPlatformData;
34#endif
35
36#if WITH_EDITORONLY_DATA
38 UPROPERTY(EditAnywhere, Category=Source2D, meta=(DisplayName="Source Texture"))
40
41 UPROPERTY()
43
44 UPROPERTY(EditAnywhere, Category=Source2D, meta=(DisplayName="Tile Size X"))
48 UPROPERTY(EditAnywhere, Category=Source2D, meta=(DisplayName="Tile Size Y"))
50#endif
51
53 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Texture, meta = (DisplayName = "Tiling Method"), AssetRegistrySearchable, AdvancedDisplay)
55
56 ENGINE_API bool UpdateSourceFromSourceTexture();
57
68 ENGINE_API bool UpdateSourceFromFunction(TFunction<void(int32 /*PosX*/, int32 /*PosY*/, int32 /*PosZ*/, void* /*OutValue*/)> Func, int32 SizeX, int32 SizeY, int32 SizeZ, ETextureSourceFormat Format);
69
70 //~ Begin UObject Interface.
73 virtual void GetAssetRegistryTags(FAssetRegistryTagsContext Context) const override;
74 UE_DEPRECATED(5.4, "Implement the version that takes FAssetRegistryTagsContext instead.")
75 virtual void GetAssetRegistryTags(TArray<FAssetRegistryTag>& OutTags) const override;
76 virtual FString GetDesc() override;
78 //~ End UObject Interface.
79
84 ENGINE_API EPixelFormat GetPixelFormat() const;
85
86 //~ Begin UTexture Interface
87 virtual ETextureClass GetTextureClass() const override { return ETextureClass::Volume; }
88 virtual float GetSurfaceWidth() const override { return static_cast<float>(GetSizeX()); }
89 virtual float GetSurfaceHeight() const override { return static_cast<float>(GetSizeY()); }
90 virtual float GetSurfaceDepth() const override { return static_cast<float>(GetSizeZ()); }
91 virtual uint32 GetSurfaceArraySize() const override { return 0; }
92 virtual TextureAddress GetTextureAddressX() const override { return AddressMode; }
93 virtual TextureAddress GetTextureAddressY() const override { return AddressMode; }
94 virtual TextureAddress GetTextureAddressZ() const override { return AddressMode; }
95 virtual FTextureResource* CreateResource() override;
96#if WITH_EDITOR
98 ENGINE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
99#endif // WITH_EDITOR
100 virtual void UpdateResourceWithParams(EUpdateResourceFlags InFlags) override;
101 virtual EMaterialValueType GetMaterialType() const override { return MCT_VolumeTexture; }
102 virtual FTexturePlatformData** GetRunningPlatformData() override;
103#if WITH_EDITOR
104 virtual bool IsDefaultTexture() const override;
105 virtual TMap<FString, FTexturePlatformData*>* GetCookedPlatformData() override { return &CookedPlatformData; }
106#endif // WITH_EDITOR
107 //~ End UTexture Interface
108
111
118 uint32 CalcTextureMemorySize(int32 MipCount) const;
119
126 virtual uint32 CalcTextureMemorySizeEnum( ETextureMipCount Enum ) const override;
127
128#if WITH_EDITOR
132 virtual uint32 GetMaximumDimension() const override;
133
134#endif
135
136 //~ Begin UStreamableRenderAsset Interface
137 virtual int32 CalcCumulativeLODSize(int32 NumLODs) const final override { return CalcTextureMemorySize(NumLODs); }
138 virtual bool StreamOut(int32 NewMipCount) final override;
139 virtual bool StreamIn(int32 NewMipCount, bool bHighPrio) final override;
140 //~ End UStreamableRenderAsset Interface
141
142protected:
143
144#if WITH_EDITOR
146#endif
147};
148
149
150
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
EMaterialValueType
Definition MaterialValueType.h:15
@ MCT_VolumeTexture
Definition MaterialValueType.h:34
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
EPixelFormat
Definition PixelFormat.h:16
@ PF_B8G8R8A8
Definition PixelFormat.h:19
uint32 GetNumMips(uint32 MipSize)
Definition ReflectionEnvironmentCapture.h:20
ETextureMipCount
Definition TextureDefines.h:505
ETextureSourceFormat
Definition TextureDefines.h:351
TextureAddress
Definition TextureDefines.h:496
ETextureClass
Definition TextureDefines.h:299
bool GSupportsVolumeTextureStreaming
Definition VolumeTexture.cpp:38
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition AssetRegistryTagsContext.h:98
Definition NameTypes.h:617
Definition UnrealType.h:3087
Definition TextureResource.h:103
virtual RENDERCORE_API uint32 GetSizeZ() const
Definition RenderResource.cpp:435
virtual RENDERCORE_API uint32 GetSizeX() const
Definition RenderResource.cpp:425
virtual RENDERCORE_API uint32 GetSizeY() const
Definition RenderResource.cpp:430
Definition Array.h:670
Definition EnumAsByte.h:22
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition Texture.h:1219
Definition VolumeTexture.h:17
virtual uint32 GetSurfaceArraySize() const override
Definition VolumeTexture.h:91
virtual uint32 CalcTextureMemorySizeEnum(ETextureMipCount Enum) const override
Definition VolumeTexture.cpp:428
virtual EMaterialValueType GetMaterialType() const override
Definition VolumeTexture.h:101
uint32 CalcTextureMemorySize(int32 MipCount) const
Definition VolumeTexture.cpp:392
virtual float GetSurfaceDepth() const override
Definition VolumeTexture.h:90
virtual TextureAddress GetTextureAddressX() const override
Definition VolumeTexture.h:92
virtual int32 CalcCumulativeLODSize(int32 NumLODs) const final override
Definition VolumeTexture.h:137
virtual bool StreamOut(int32 NewMipCount) final override
Definition VolumeTexture.cpp:635
static ENGINE_API class UVolumeTexture * CreateTransient(int32 InSizeX, int32 InSizeY, int32 InSizeZ, EPixelFormat InFormat=PF_B8G8R8A8, const FName InName=NAME_None)
Definition VolumeTexture.cpp:59
virtual TextureAddress GetTextureAddressZ() const override
Definition VolumeTexture.h:94
virtual bool StreamIn(int32 NewMipCount, bool bHighPrio) final override
Definition VolumeTexture.cpp:651
virtual float GetSurfaceWidth() const override
Definition VolumeTexture.h:88
virtual float GetSurfaceHeight() const override
Definition VolumeTexture.h:89
virtual TextureAddress GetTextureAddressY() const override
Definition VolumeTexture.h:93
Definition Guid.h:109
Definition UnrealType.h:6865
Definition ResourceSize.h:31
Definition Texture.h:839
Definition ObjectPtr.h:488
Definition Object.h:827