UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RayTracingInstanceBufferUtil.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "RHIUtilities.h"
7#include "CoreMinimal.h"
8
9#if RHI_RAYTRACING
10
11class FGPUScene;
14struct FDFVector3;
15
16struct UE_DEPRECATED(5.6, "Use FRayTracingInstanceBufferBuilder instead.") FRayTracingInstanceDescriptor
17{
21 uint32 InstanceId;
23 uint32 InstanceContributionToHitGroupIndex;
24 union
25 {
27 uint32 bApplyLocalBoundsTransform;
28 };
29};
30
31struct UE_DEPRECATED(5.6, "Use FRayTracingInstanceBufferBuilder instead.") FRayTracingInstanceGroupEntryRef
32{
33 uint32 GroupIndex;
35};
36
38struct UE_DEPRECATED(5.6, "Use FRayTracingInstanceBufferBuilder instead.") FRayTracingSceneInitializationData
39{
46
47 UE_DEPRECATED(5.6, "No longer used. Use FShaderBindingTable instead.")
49
50 // index of each instance geometry in ReferencedGeometries
52 // base offset of each instance entries in the instance upload buffer
54 // prefix sum of `Instance.NumTransforms` for all instances in this scene
56 // reference to corresponding instance group entry
58
59 // Unique list of geometries referenced by all instances in this scene.
60 // Any referenced geometry is kept alive while the scene is alive.
61 TArray<FRHIRayTracingGeometry*> ReferencedGeometries;
62
69};
70
73
77 FVector PreViewTranslation,
86
89 FRHICommandList& RHICmdList,
90 const FGPUScene* GPUScene,
91 const FDFVector3& PreViewTranslation,
99 const FRayTracingCullingParameters* CullingParameters,
102
104
106{
108 TBitArray<> VisibleInstances;
109 FVector PreViewTranslation;
110 bool bUseLightingChannels = false;
111 bool bForceOpaque = false;
112 bool bDisableTriangleCull = false;
113};
114
116{
117public:
118
121
124
126 FRHICommandList& RHICmdList,
127 const FGPUScene* GPUScene,
128 const FRayTracingCullingParameters* CullingParameters,
131 uint32 MaxNumInstances,
132 bool bCompactOutput,
136
138 FRHICommandList& RHICmdList,
139 const FGPUScene* GPUScene,
141 const FRayTracingCullingParameters* CullingParameters,
144 uint32 MaxNumInstances,
145 bool bCompactOutput,
149
151
152 uint32 GetMaxNumInstances() const { return Data.NumNativeGPUSceneInstances + Data.NumNativeCPUInstances; }
153
154 TConstArrayView<FRHIRayTracingGeometry*> GetReferencedGeometries() const { return Data.ReferencedGeometries; }
155 TConstArrayView<uint32> GetInstanceGeometryIndices() const { return Data.InstanceGeometryIndices; }
156 TConstArrayView<uint32> GetBaseInstancePrefixSum() const { return Data.BaseInstancePrefixSum; }
157
159
160private:
161
163 TBitArray<> VisibleInstances;
164 FVector PreViewTranslation;
165 bool bUseLightingChannels = false;
166 bool bForceOpaque = false;
167 bool bDisableTriangleCull = false;
168
172
175
178
181
183};
184
185#endif // RHI_RAYTRACING
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
void Init()
Definition LockFreeList.h:4
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition GPUScene.h:217
Definition UnrealType.h:3087
Definition RHICommandList.h:3819
Definition RHIResources.h:3729
Definition RHIResources.h:3304
Definition RHIResources.h:3294
Definition ArrayView.h:139
Definition Array.h:670
Definition RefCounting.h:454
GeometryCollection::Facades::FMuscleActivationData Data
Definition MuscleActivationConstraints.h:15
Definition RHIUtilities.h:495
Definition DoubleFloat.h:75
Definition RHIResources.h:3357