UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LumenSceneGPUDrivenUpdate.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"
7#include "RHIGPUReadback.h"
8
9class FScene;
10class FViewInfo;
12
14{
15public:
18
24
29
35
37 {
40 };
41
44
46
47 int32 GetMaxAddOps() const { return MaxAddOps; }
48 int32 GetMaxRemoveOps() const { return MaxRemoveOps; }
49
50 int32 GetAddOpsBufferSizeInBytes() const { return MaxAddOps * sizeof(FAddOp); }
51 int32 GetRemoveOpsBufferSizeInBytes() const { return MaxRemoveOps * sizeof(FRemoveOp); }
52
53private:
54 const int32 MaxAddOps = 1024;
55 const int32 MaxRemoveOps = 1024;
56
57 const int32 MaxReadbackBuffers = 4;
58 int32 ReadbackBuffersWriteIndex = 0;
59 int32 ReadbackBuffersNumPending = 0;
60 TArray<FBuffersRHI> ReadbackBuffers;
61};
62
63namespace LumenScene
64{
65 float GetCardMaxDistance(const FViewInfo& View);
66 float GetCardTexelDensity();
69 int32 GetCardMinResolution(bool bOrthographicCamera);
70
72};
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
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition LumenSceneGPUDrivenUpdate.h:14
int32 GetAddOpsBufferSizeInBytes() const
Definition LumenSceneGPUDrivenUpdate.h:50
int32 GetMaxAddOps() const
Definition LumenSceneGPUDrivenUpdate.h:47
int32 GetMaxRemoveOps() const
Definition LumenSceneGPUDrivenUpdate.h:48
FBuffersRDG GetWriteBuffers(FRDGBuilder &GraphBuilder)
Definition LumenSceneGPUDrivenUpdate.cpp:135
FBuffersRHI GetLatestReadbackBuffers()
Definition LumenSceneGPUDrivenUpdate.cpp:188
void SubmitWriteBuffers(FRDGBuilder &GraphBuilder, FBuffersRDG BuffersRDG)
Definition LumenSceneGPUDrivenUpdate.cpp:158
~FLumenSceneReadback()
Definition LumenSceneGPUDrivenUpdate.cpp:117
FLumenSceneReadback()
Definition LumenSceneGPUDrivenUpdate.cpp:112
int32 GetRemoveOpsBufferSizeInBytes() const
Definition LumenSceneGPUDrivenUpdate.h:51
Definition RenderGraphResources.h:1321
Definition RenderGraphBuilder.h:49
Definition RHIGPUReadback.h:116
Definition RenderResource.h:37
Definition ScenePrivate.h:2875
Definition SceneRendering.h:1132
Definition Array.h:670
Definition LumenSceneCardCapture.h:98
int32 GetCardMinResolution(bool bOrthographicCamera)
Definition LumenSceneGPUDrivenUpdate.cpp:99
float GetCardMaxDistance(const FViewInfo &View)
Definition LumenSceneGPUDrivenUpdate.cpp:67
void GPUDrivenUpdate(FRDGBuilder &GraphBuilder, const FScene *Scene, TArray< FViewInfo > &Views, const FLumenSceneFrameTemporaries &FrameTemporaries)
Definition LumenSceneGPUDrivenUpdate.cpp:318
float GetFarFieldCardTexelDensity()
Definition LumenSceneGPUDrivenUpdate.cpp:89
float GetCardTexelDensity()
Definition LumenSceneGPUDrivenUpdate.cpp:84
float GetFarFieldCardMaxDistance()
Definition LumenSceneGPUDrivenUpdate.cpp:94
Definition LumenSceneData.h:895
Definition LumenSceneGPUDrivenUpdate.h:20
uint32 PrimitiveGroupIndex
Definition LumenSceneGPUDrivenUpdate.h:21
float DistanceSq
Definition LumenSceneGPUDrivenUpdate.h:22
Definition LumenSceneGPUDrivenUpdate.h:37
FRDGBufferRef RemoveOps
Definition LumenSceneGPUDrivenUpdate.h:39
FRDGBufferRef AddOps
Definition LumenSceneGPUDrivenUpdate.h:38
Definition LumenSceneGPUDrivenUpdate.h:31
FRHIGPUBufferReadback * AddOps
Definition LumenSceneGPUDrivenUpdate.h:32
FRHIGPUBufferReadback * RemoveOps
Definition LumenSceneGPUDrivenUpdate.h:33
Definition LumenSceneGPUDrivenUpdate.h:26
uint32 PrimitiveGroupIndex
Definition LumenSceneGPUDrivenUpdate.h:27