UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialExpressionRuntimeVirtualTextureSample.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"
10#include "MaterialExpressionRuntimeVirtualTextureSample.generated.h"
11
16UENUM()
18{
19 /*
20 * Use default computed mip level. Takes into account UV scaling from using the WorldPosition pin.
21 */
22 RVTMVM_None UMETA(DisplayName = "Default"),
23
24 /*
25 * Use an absolute mip level from the MipLevel pin.
26 * 0 is full resolution.
27 */
28 RVTMVM_MipLevel UMETA(DisplayName = "Mip Level"),
29
30 /*
31 * Bias the default computed mip level using the MipBias pin.
32 * Negative values increase resolution.
33 */
34 RVTMVM_MipBias UMETA(DisplayName = "Mip Bias"),
35
36 /*
37 * Compute mip level from world position derivatives.
38 * This is intended for cases where the value passed to the WorldPosition pin doesn't give good derivatives.
39 * (For example when using a constant value from primitive world position).
40 * This is deprecated. Use Derivative (World Space) instead, and pass in DDX/DDY of world space.
41 */
42 RVTMVM_RecalculateDerivatives UMETA(Hidden, DisplayName = "Ignore Input WorldPosition"),
43
44 /*
45 * Compute mip level from explicitly provided DDX and DDY derivatives of the virtual texture UV coordinates.
46 */
47 RVTMVM_DerivativeUV UMETA(DisplayName = "Derivatives (UV Space)"),
48
49 /*
50 * Compute mip level from explicitly provided DDX and DDY derivatives of the world position.
51 */
52 RVTMVM_DerivativeWorld UMETA(DisplayName = "Derivatives (World Space)"),
53
55};
56
60UENUM()
62{
63 /* Clamp mode. */
64 RVTTA_Clamp UMETA(DisplayName = "Clamp"),
65 /* Wrap mode. */
66 RVTTA_Wrap UMETA(DisplayName = "Wrap"),
67
69};
70
84
101
105{
107
108
109 UPROPERTY(meta = (RequiredInput = "false"))
110 FExpressionInput Coordinates;
111
113 UPROPERTY(meta = (RequiredInput = "false"))
115
117 UPROPERTY(meta = (RequiredInput = "false"))
118 FExpressionInput MipValue;
119
121 UPROPERTY(meta = (RequiredInput = "false"))
123
125 UPROPERTY(meta = (RequiredInput = "false"))
127
129 UPROPERTY(EditAnywhere, Category = VirtualTexture)
131
133 UPROPERTY(EditAnywhere, Category = VirtualTexture, meta = (DisplayName = "Virtual texture content"))
134 ERuntimeVirtualTextureMaterialType MaterialType = ERuntimeVirtualTextureMaterialType::BaseColor;
135
137 UPROPERTY(EditAnywhere, Category = VirtualTexture, meta = (DisplayName = "Enable packed page table"))
138 bool bSinglePhysicalSpace = true;
139
141 UPROPERTY(EditAnywhere, Category = VirtualTexture, meta = (DisplayName = "Enable adaptive page table"))
142 bool bAdaptive = false;
143
145 UPROPERTY(EditAnywhere, Category = "UV Coordinates")
146 EPositionOrigin WorldPositionOriginType = EPositionOrigin::Absolute;
147
149 UPROPERTY(EditAnywhere, Category = TextureSample)
151
153 UPROPERTY(EditAnywhere, Category = TextureSample)
155
161 UPROPERTY(EditAnywhere, Category = TextureSample)
162 bool bEnableFeedback = true;
163
165 ENGINE_API bool InitVirtualTextureDependentSettings();
166
168 ESamplerSourceMode GetSamplerSourceMode() const;
169
170protected:
172 ENGINE_API void InitOutputs();
173
174 //~ Begin UMaterialExpression Interface
175 ENGINE_API virtual UObject* GetReferencedTexture() const override;
176 virtual bool CanReferenceTexture() const { return true; }
177
178#if WITH_EDITOR
179 ENGINE_API virtual void PostLoad() override;
180 FExpressionInput* GetInput(int32 InputIndex) override;
181 ENGINE_API virtual FName GetInputName(int32 InputIndex) const override;
182 ENGINE_API virtual void Build(MIR::FEmitter& Emitter) override;
183 ENGINE_API virtual int32 Compile(class FMaterialCompiler* Compiler, int32 OutputIndex) override;
184 ENGINE_API virtual void GetCaption(TArray<FString>& OutCaptions) const override;
185 ENGINE_API virtual bool CanEditChange(const FProperty* InProperty) const override;
186
188 bool ValidateVirtualTextureParameters(FString& OutError) const;
189
191 bool IsParameter() const;
192
194
195public:
196 ENGINE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
197
198#endif
199 //~ End UMaterialExpression Interface
200};
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
ESamplerSourceMode
Definition EngineTypes.h:281
ERuntimeVirtualTextureTextureAddressMode
Definition MaterialExpressionRuntimeVirtualTextureSample.h:62
@ UMETA
Definition MaterialExpressionRuntimeVirtualTextureSample.h:22
@ RVTTA_MAX
Definition MaterialExpressionRuntimeVirtualTextureSample.h:68
EVirtualTextureUnpackType
Definition MaterialExpressionRuntimeVirtualTextureSample.h:72
ERuntimeVirtualTextureMipValueMode
Definition MaterialExpressionRuntimeVirtualTextureSample.h:18
@ RVTMVM_MAX
Definition MaterialExpressionRuntimeVirtualTextureSample.h:54
EPositionOrigin
Definition MaterialExpression.h:645
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
ERuntimeVirtualTextureMaterialType
Definition RuntimeVirtualTextureEnum.h:38
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition MaterialCompiler.h:109
Definition NameTypes.h:617
Definition UnrealType.h:174
Definition Array.h:670
Definition EnumAsByte.h:22
Definition MaterialExpressionRuntimeVirtualTextureSample.h:105
virtual bool CanReferenceTexture() const
Definition MaterialExpressionRuntimeVirtualTextureSample.h:176
Definition MaterialExpression.h:150
Definition Object.h:95
Definition VirtualTextureRecreate.cpp:16
Definition MaterialExpressionIO.h:23
Definition UnrealType.h:6865
Definition MaterialExpressionRuntimeVirtualTextureSample.h:86
uint32 UnpackMask
Definition MaterialExpressionRuntimeVirtualTextureSample.h:97
EVirtualTextureUnpackType UnpackType
Definition MaterialExpressionRuntimeVirtualTextureSample.h:98
bool bIsDisplacementValid
Definition MaterialExpressionRuntimeVirtualTextureSample.h:94
uint32 UnpackTarget
Definition MaterialExpressionRuntimeVirtualTextureSample.h:96
bool bIsMask4Valid
Definition MaterialExpressionRuntimeVirtualTextureSample.h:93
bool bIsWorldHeightValid
Definition MaterialExpressionRuntimeVirtualTextureSample.h:91
bool bIsNormalValid
Definition MaterialExpressionRuntimeVirtualTextureSample.h:90
bool bIsBaseColorValid
Definition MaterialExpressionRuntimeVirtualTextureSample.h:87
TArray< float, TInlineAllocator< 4 > > ConstantVector
Definition MaterialExpressionRuntimeVirtualTextureSample.h:99
bool bIsSpecularValid
Definition MaterialExpressionRuntimeVirtualTextureSample.h:88
bool bIsMaskValid
Definition MaterialExpressionRuntimeVirtualTextureSample.h:92
bool bIsRoughnessValid
Definition MaterialExpressionRuntimeVirtualTextureSample.h:89
Definition ObjectPtr.h:488