UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RayTracingDynamicGeometryUpdateManager.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "RHIDefinitions.h"
6
7#if RHI_RAYTRACING
8
9#include "RHI.h"
10#include "RHIUtilities.h"
12#include "MeshPassProcessor.h"
13
15class FScene;
16class FSceneView;
17class FViewInfo;
18class FRDGBuilder;
22
23DECLARE_UNIFORM_BUFFER_STRUCT(FSceneUniformParameters, RENDERER_API)
24
26{
27 FMeshDrawShaderBindings ShaderBindings;
29
30 uint32 NumThreads;
33
34#if WANTS_DRAW_MESH_EVENTS
36 uint32 MinVertexIndex;
38#endif
39};
40
42{
43public:
44
47
50 FRHICommandListBase& RHICmdList,
51 const FScene* Scene,
52 const FSceneView* View,
53 const FPrimitiveSceneProxy* PrimitiveSceneProxy,
55 uint32 PrimitiveId
56 );
57
59 RENDERER_API int64 BeginUpdate();
60
63 FRDGBuilder& GraphBuilder,
64 ERDGPassFlags ComputePassFlags,
69
70 UE_DEPRECATED(5.6, "Provide SceneUB and bUseTracingFeedback instead of View.")
72
74 RENDERER_API void Clear();
75
78
80 RENDERER_API void EndUpdate();
81
84
86 RENDERER_API void Update(const FViewInfo& View);
88
91
93 {
95 FRHIUniformBuffer* ViewUniformBuffer = nullptr;
98 };
99
101 const FScene* Scene,
102 const FSceneView* View,
103 const FPrimitiveSceneProxy* PrimitiveSceneProxy,
105 uint32 PrimitiveId,
107 uint32 NumVertices,
108 uint32 VertexBufferOffset,
112
113
116
117 // Group dispatch commands per view uniform buffer since it is specified when creating the RDG passes
122
124 {
126 uint32 UsedSize = 0;
128 };
130
131 // Any uniform buffers that must be kept alive until EndUpdate (after DispatchUpdates is called)
132 TArray<FUniformBufferRHIRef> ReferencedUniformBuffers;
133
134 // Generation ID when the shared vertex buffers have been reset. The current generation ID is stored in the FRayTracingGeometry to keep track
135 // if the vertex buffer data is still valid for that frame - validated before generation the TLAS
137
138 uint32 ScratchBufferSize = 0;
139};
140
141UE_DEPRECATED(5.6, "Use FRayTracingDynamicGeometryUpdateManager instead of FRayTracingDynamicGeometryCollection");
143{
144};
145
146#endif // RHI_RAYTRACING
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
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
ERHIPipeline
Definition RHIPipeline.h:13
ERDGPassFlags
Definition RenderGraphDefinitions.h:128
#define DECLARE_UNIFORM_BUFFER_STRUCT(StructTypeName, PrefixKeywords)
Definition ShaderParameterStructDeclaration.h:10
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition MeshPassProcessor.h:908
Definition UnrealType.h:3087
Definition PrimitiveSceneProxy.h:296
Definition RenderGraphResources.h:1321
Definition RenderGraphBuilder.h:49
Definition RHIResources.h:1581
Definition RHICommandList.h:455
Definition RHICommandList.h:3819
Definition RHIResources.h:1232
Definition RayTracingGeometry.h:31
Definition SceneView.h:1425
Definition ScenePrivate.h:2875
Definition SceneRendering.h:1132
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition RenderGraphResources.h:251
Definition Shader.h:1021
Definition RHIUtilities.h:181