UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
VolumetricRenderTargetViewStateData.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 VolumetricRenderTargetViewStatedata.h
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
10#include "EngineDefines.h"
11#include "RendererInterface.h"
13
14class FRDGBuilder;
15
17{
18
19public:
20
23
24 void Initialise(
27 int32 Mode,
28 int32 UpsamplingMode,
29 bool bCameraCut);
30
31 void Reset();
32
34 {
35 PreViewExposure = ViewExposure;
36 }
37
38 float GetPrevViewExposure() const
39 {
40 return PreViewExposure;
41 }
42
44 {
45 StartTracingDistance = InStartTracingDistance;
46 }
48 {
49 return StartTracingDistance;
50 }
51
58
67
71
76
77 bool IsValid() const { return bValid; }
78
79 bool GetHistoryValid() const { return bHistoryValid; }
80 bool GetHoldoutValid() const { return bHoldoutValid; }
81 const FIntPoint& GetCurrentVolumetricReconstructRTResolution() const { return VolumetricReconstructRTResolution; }
82 const FIntPoint& GetCurrentVolumetricTracingRTResolution() const { return VolumetricTracingRTResolution; }
83 const FIntPoint& GetCurrentVolumetricTracingViewRect() const { return VolumetricTracingViewRect; }
84 const FIntPoint& GetCurrentTracingPixelOffset() const { return CurrentPixelOffset; }
85 const uint32 GetNoiseFrameIndexModPattern() const { return NoiseFrameIndexModPattern; }
86
87 const uint32 GetVolumetricReconstructRTDownsampleFactor() const { return VolumetricReconstructRTDownsampleFactor; }
88 const uint32 GetVolumetricTracingRTDownsampleFactor() const { return VolumetricTracingRTDownsampleFactor; }
89
92
93 int32 GetMode() const { return Mode; }
94 int32 GetUpsamplingMode() const { return UpsamplingMode; }
95
97
98private:
99
100 uint32 VolumetricReconstructRTDownsampleFactor;
101 uint32 VolumetricTracingRTDownsampleFactor;
102
103 uint32 CurrentRT;
104 bool bFirstTimeUsed;
105 bool bHistoryValid;
106 bool bHoldoutValid;
107 bool bValid;
108 float PreViewExposure;
109 float StartTracingDistance; // The distance at which the tracing starts, and thus the composition can be clipped for pixel closer to that distance.
110
111 int32 FrameId;
112 uint32 NoiseFrameIndex; // This is only incremented once all Volumetric render target samples have been iterated
113 uint32 NoiseFrameIndexModPattern;
114 FIntPoint CurrentPixelOffset;
115
116 FIntPoint FullResolution;
117 FIntPoint VolumetricReconstructRTResolution;
118 FIntPoint VolumetricTracingRTResolution;
119 FIntPoint VolumetricTracingViewRect;
120
121 static constexpr uint32 kRenderTargetCount = 2;
122 TRefCountPtr<IPooledRenderTarget> VolumetricReconstructRT[kRenderTargetCount];
123 TRefCountPtr<IPooledRenderTarget> VolumetricReconstructSecondaryRT[kRenderTargetCount];
124 TRefCountPtr<IPooledRenderTarget> VolumetricReconstructRTDepth[kRenderTargetCount];
125 FIntPoint VolumetricReconstructViewRect[kRenderTargetCount];
126
127 TRefCountPtr<IPooledRenderTarget> VolumetricTracingRT;
128 TRefCountPtr<IPooledRenderTarget> VolumetricSecondaryTracingRT;
129 TRefCountPtr<IPooledRenderTarget> VolumetricTracingRTDepth;
130 TRefCountPtr<IPooledRenderTarget> VolumetricTracingRTHoldout;
131
132 int32 Mode;
133 int32 UpsamplingMode;
134};
135
136
138{
139
140public:
141
144
146
149
151
152 bool GetHistoryValid() const { return bHistoryValid; }
153
154 bool CurrentIsValid() const { return RenderTargets[CurrentRT].IsValid(); }
155 TRefCountPtr<IPooledRenderTarget> CurrentRenderTarget() const { return RenderTargets[CurrentRT]; }
156
157 uint32 GetCurrentIndex() { return CurrentRT; }
158 uint32 GetPreviousIndex() { return 1 - CurrentRT; }
159
160 void Reset();
161
162 uint64 GetGPUSizeBytes(bool bLogSizes) const;
163
164private:
165
166 uint32 CurrentRT;
167 int32 FrameId;
168
169 bool bFirstTimeUsed;
170 bool bHistoryValid;
171
172 FIntPoint Resolution;
173 EPixelFormat Format;
174
175 static constexpr uint32 kRenderTargetCount = 2;
176 TRefCountPtr<IPooledRenderTarget> RenderTargets[kRenderTargetCount];
177};
178
179
180
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
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
Definition VolumetricRenderTargetViewStateData.h:138
void Reset()
Definition VolumetricRenderTarget.cpp:1377
~FTemporalRenderTargetState()
Definition VolumetricRenderTarget.cpp:1313
uint32 GetPreviousIndex()
Definition VolumetricRenderTargetViewStateData.h:158
uint32 GetCurrentIndex()
Definition VolumetricRenderTargetViewStateData.h:157
TRefCountPtr< IPooledRenderTarget > CurrentRenderTarget() const
Definition VolumetricRenderTargetViewStateData.h:155
void ExtractCurrentRT(FRDGBuilder &GraphBuilder, FRDGTextureRef RDGRT)
Definition VolumetricRenderTarget.cpp:1361
FRDGTextureRef GetOrCreatePreviousRT(FRDGBuilder &GraphBuilder)
Definition VolumetricRenderTarget.cpp:1368
FTemporalRenderTargetState()
Definition VolumetricRenderTarget.cpp:1303
uint64 GetGPUSizeBytes(bool bLogSizes) const
Definition SceneViewState.cpp:392
FRDGTextureRef GetOrCreateCurrentRT(FRDGBuilder &GraphBuilder)
Definition VolumetricRenderTarget.cpp:1347
bool CurrentIsValid() const
Definition VolumetricRenderTargetViewStateData.h:154
bool GetHistoryValid() const
Definition VolumetricRenderTargetViewStateData.h:152
void Initialise(const FIntPoint &ResolutionIn, EPixelFormat FormatIn)
Definition VolumetricRenderTarget.cpp:1317
Definition VolumetricRenderTargetViewStateData.h:17
FUintVector4 GetTracingCoordToZbufferCoordScaleBias() const
Definition VolumetricRenderTarget.cpp:570
FRDGTextureRef GetOrCreateSrcVolumetricReconstructRTDepth(FRDGBuilder &GraphBuilder)
Definition VolumetricRenderTarget.cpp:548
FRDGTextureRef GetOrCreateDstVolumetricReconstructSecondaryRT(FRDGBuilder &GraphBuilder)
Definition VolumetricRenderTarget.cpp:464
const uint32 GetNoiseFrameIndexModPattern() const
Definition VolumetricRenderTargetViewStateData.h:85
uint64 GetGPUSizeBytes(bool bLogSizes) const
Definition SceneViewState.cpp:379
void SetStartTracingDistance(float InStartTracingDistance)
Definition VolumetricRenderTargetViewStateData.h:43
FRDGTextureRef GetOrCreateDstVolumetricReconstructRTDepth(FRDGBuilder &GraphBuilder)
Definition VolumetricRenderTarget.cpp:480
FRDGTextureRef GetOrCreateSrcVolumetricReconstructSecondaryRT(FRDGBuilder &GraphBuilder)
Definition VolumetricRenderTarget.cpp:540
FRDGTextureRef GetOrCreateSrcVolumetricReconstructRT(FRDGBuilder &GraphBuilder)
Definition VolumetricRenderTarget.cpp:532
FRDGTextureRef GetOrCreateVolumetricTracingRTDepth(FRDGBuilder &GraphBuilder)
Definition VolumetricRenderTarget.cpp:388
FVector2f GetVolumetricTracingUVMax() const
Definition VolumetricRenderTarget.cpp:426
TRefCountPtr< IPooledRenderTarget > GetDstVolumetricReconstructRT()
Definition VolumetricRenderTarget.cpp:495
void Reset()
Definition VolumetricRenderTarget.cpp:330
FVolumetricRenderTargetViewStateData()
Definition VolumetricRenderTarget.cpp:188
FRDGTextureRef GetOrCreateVolumetricTracingRTHoldout(FRDGBuilder &GraphBuilder)
Definition VolumetricRenderTarget.cpp:405
~FVolumetricRenderTargetViewStateData()
Definition VolumetricRenderTarget.cpp:215
FUintVector4 GetTracingCoordToFullResPixelCoordScaleBias() const
Definition VolumetricRenderTarget.cpp:590
float GetPrevViewExposure() const
Definition VolumetricRenderTargetViewStateData.h:38
const FIntPoint & GetCurrentVolumetricTracingViewRect() const
Definition VolumetricRenderTargetViewStateData.h:83
TRefCountPtr< IPooledRenderTarget > GetDstVolumetricReconstructSecondaryRT()
Definition VolumetricRenderTarget.cpp:499
bool GetHistoryValid() const
Definition VolumetricRenderTargetViewStateData.h:79
int32 GetMode() const
Definition VolumetricRenderTargetViewStateData.h:93
FRDGTextureRef GetOrCreateVolumetricSecondaryTracingRT(FRDGBuilder &GraphBuilder)
Definition VolumetricRenderTarget.cpp:373
bool IsValid() const
Definition VolumetricRenderTargetViewStateData.h:77
const FIntPoint & GetCurrentVolumetricTracingRTResolution() const
Definition VolumetricRenderTargetViewStateData.h:82
void PostRenderUpdate(float ViewExposure)
Definition VolumetricRenderTargetViewStateData.h:33
void Initialise(FIntPoint &TextureResolutionIn, FIntPoint &ViewRectResolutionIn, int32 Mode, int32 UpsamplingMode, bool bCameraCut)
Definition VolumetricRenderTarget.cpp:219
float GetStartTracingDistance() const
Definition VolumetricRenderTargetViewStateData.h:47
const FIntPoint & GetSrcVolumetricReconstructViewRect() const
Definition VolumetricRenderTarget.cpp:556
FRDGTextureRef GetOrCreateVolumetricTracingRT(FRDGBuilder &GraphBuilder)
Definition VolumetricRenderTarget.cpp:358
const FIntPoint & GetCurrentVolumetricReconstructRTResolution() const
Definition VolumetricRenderTargetViewStateData.h:81
const FIntPoint & GetDstVolumetricReconstructViewRect() const
Definition VolumetricRenderTarget.cpp:508
FVector2f GetDstVolumetricReconstructUVScale() const
Definition VolumetricRenderTarget.cpp:513
FVector2f GetVolumetricTracingUVScale() const
Definition VolumetricRenderTarget.cpp:420
TRefCountPtr< IPooledRenderTarget > GetDstVolumetricReconstructRTDepth()
Definition VolumetricRenderTarget.cpp:503
int32 GetUpsamplingMode() const
Definition VolumetricRenderTargetViewStateData.h:94
const FIntPoint & GetCurrentTracingPixelOffset() const
Definition VolumetricRenderTargetViewStateData.h:84
const uint32 GetVolumetricReconstructRTDownsampleFactor() const
Definition VolumetricRenderTargetViewStateData.h:87
FVector2f GetDstVolumetricReconstructUVMax() const
Definition VolumetricRenderTarget.cpp:519
bool GetHoldoutValid() const
Definition VolumetricRenderTargetViewStateData.h:80
const uint32 GetVolumetricTracingRTDownsampleFactor() const
Definition VolumetricRenderTargetViewStateData.h:88
FRDGTextureRef GetOrCreateDstVolumetricReconstructRT(FRDGBuilder &GraphBuilder)
Definition VolumetricRenderTarget.cpp:449
Definition RefCounting.h:454
UE_FORCEINLINE_HINT bool IsValid() const
Definition RefCounting.h:594
Definition IntPoint.h:25