40 return !(*
this ==
Other);
109 return ViewUniformBufferParameter.
IsBound() ||
110 SceneUniformBufferParameter.
IsBound() ||
111 NaniteUniformBufferParameter.
IsBound();
141 Allocator.
Free(StartOffset,
Num);
300 uint32 GeometrySegmentIndex;
319 uint32 ShaderIndexInPipeline,
#define check(expr)
Definition AssertionMacros.h:314
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#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
ERayTracingLocalShaderBindingType
Definition RHICommandList.h:259
TArray< FRayTracingShaderBindingData, SceneRenderingAllocator > FRayTracingShaderBindingDataOneFrameArray
Definition RayTracingMeshDrawCommands.h:228
constexpr uint32 HashCombine(uint32 A, uint32 C)
Definition TypeHash.h:36
Definition RayTracingMeshDrawCommands.h:249
int32 CommandIndex
Definition RayTracingMeshDrawCommands.h:261
virtual void FinalizeCommand(FRayTracingMeshCommand &RayTracingMeshCommand) override final
Definition RayTracingMeshDrawCommands.h:259
virtual FRayTracingMeshCommand & AddCommand(const FRayTracingMeshCommand &Initializer) override final
Definition RayTracingMeshDrawCommands.h:253
FCachedRayTracingMeshCommandContext(T &InDrawListStorage)
Definition RayTracingMeshDrawCommands.h:251
Definition RayTracingMeshDrawCommands.h:268
virtual RENDERER_API void FinalizeCommand(FRayTracingMeshCommand &RayTracingMeshCommand) override final
virtual FRayTracingMeshCommand & AddCommand(const FRayTracingMeshCommand &Initializer) override final
Definition RayTracingMeshDrawCommands.h:285
FDynamicRayTracingMeshCommandContext(FDynamicRayTracingMeshCommandStorage &InDynamicCommandStorage, FRayTracingShaderBindingDataOneFrameArray &InShaderBindings, const FRHIRayTracingGeometry *InRayTracingGeometry, uint32 InGeometrySegmentIndex, FRayTracingSBTAllocation *InSBTAllocation)
Definition RayTracingMeshDrawCommands.h:271
Definition MeshPassProcessor.h:908
Definition RHIResources.h:3729
Definition RHIResources.h:984
Definition RayTracingGeometry.h:31
Definition RayTracingMeshDrawCommands.h:231
virtual FRayTracingMeshCommand & AddCommand(const FRayTracingMeshCommand &Initializer)=0
virtual ~FRayTracingMeshCommandContext()
Definition RayTracingMeshDrawCommands.h:234
virtual void FinalizeCommand(FRayTracingMeshCommand &RayTracingMeshCommand)=0
Definition RayTracingMeshDrawCommands.h:121
FRayTracingMeshCommand & operator[](int32 Index)
Definition RayTracingMeshDrawCommands.h:144
const FRayTracingMeshCommand & operator[](int32 Index) const
Definition RayTracingMeshDrawCommands.h:149
void Free(int32 StartOffset, int32 Num)
Definition RayTracingMeshDrawCommands.h:139
bool IsEmpty() const
Definition RayTracingMeshDrawCommands.h:154
int32 Allocate(int32 Num)
Definition RayTracingMeshDrawCommands.h:123
Definition RayTracingMeshDrawCommands.h:69
uint32 GeometrySegmentIndex
Definition RayTracingMeshDrawCommands.h:75
bool bCanBeCached
Definition RayTracingMeshDrawCommands.h:87
RENDERER_API void SetShader(const TShaderRef< FShader > &Shader)
uint8 InstanceMask
Definition RayTracingMeshDrawCommands.h:76
uint32 MaterialShaderIndex
Definition RayTracingMeshDrawCommands.h:74
bool HasGlobalUniformBufferBindings() const
Definition RayTracingMeshDrawCommands.h:107
FMeshDrawShaderBindings ShaderBindings
Definition RayTracingMeshDrawCommands.h:71
bool bIsTranslucent
Definition RayTracingMeshDrawCommands.h:83
bool bCastRayTracedShadows
Definition RayTracingMeshDrawCommands.h:78
bool bIsSky
Definition RayTracingMeshDrawCommands.h:82
bool bAlphaMasked
Definition RayTracingMeshDrawCommands.h:80
bool bTwoSided
Definition RayTracingMeshDrawCommands.h:84
FRHIRayTracingShader * MaterialShader
Definition RayTracingMeshDrawCommands.h:72
RENDERER_API void UpdateFlags(FRayTracingCachedMeshCommandFlags &Flags) const
RENDERER_API bool IsUsingNaniteRayTracing() const
RENDERER_API void SetRayTracingShaderBindingsForHitGroup(FRayTracingLocalShaderBindingWriter *BindingWriter, const TUniformBufferRef< FViewUniformShaderParameters > &ViewUniformBuffer, FRHIUniformBuffer *SceneUniformBuffer, FRHIUniformBuffer *NaniteUniformBuffer, uint32 RecordIndex, const FRHIRayTracingGeometry *RayTracingGeometry, uint32 SegmentIndex, uint32 HitGroupIndexInPipeline, ERayTracingLocalShaderBindingType BindingType) const
bool bDecal
Definition RayTracingMeshDrawCommands.h:81
bool bOpaque
Definition RayTracingMeshDrawCommands.h:79
bool bNaniteRayTracing
Definition RayTracingMeshDrawCommands.h:86
bool bReverseCulling
Definition RayTracingMeshDrawCommands.h:85
Definition RayTracingMeshDrawCommands.h:165
uint32 RayTracingMeshCommandIndex
Definition RayTracingMeshDrawCommands.h:208
FRayTracingShaderBindingData & operator=(const FRayTracingShaderBindingData &)=default
FRayTracingShaderBindingData(FRayTracingShaderBindingData &&)=default
const FRayTracingMeshCommand * RayTracingMeshCommand
Definition RayTracingMeshDrawCommands.h:206
const FRHIRayTracingGeometry * RayTracingGeometry
Definition RayTracingMeshDrawCommands.h:207
const FRayTracingMeshCommand & GetRayTracingMeshCommand(const FRayTracingMeshCommandStorage &Storage) const
Definition RayTracingMeshDrawCommands.h:201
uint32 SBTRecordIndex
Definition RayTracingMeshDrawCommands.h:209
ERayTracingLocalShaderBindingType BindingType
Definition RayTracingMeshDrawCommands.h:210
bool bHidden
Definition RayTracingMeshDrawCommands.h:211
FRayTracingShaderBindingData & operator=(FRayTracingShaderBindingData &&)=default
FRayTracingShaderBindingData(uint32 InRayTracingMeshCommandIndex, const FRHIRayTracingGeometry *InRayTracingGeometry, uint32 InSBTRecordIndex, ERayTracingLocalShaderBindingType InBindingType, bool bInHidden)
Definition RayTracingMeshDrawCommands.h:185
PRAGMA_DISABLE_DEPRECATION_WARNINGS FRayTracingShaderBindingData(const FRayTracingShaderBindingData &)=default
FRayTracingShaderBindingData(const FRayTracingMeshCommand *InRayTracingMeshCommand, const FRHIRayTracingGeometry *InRayTracingGeometry, uint32 InSBTRecordIndex, ERayTracingLocalShaderBindingType InBindingType, bool bInHidden)
Definition RayTracingMeshDrawCommands.h:169
Definition RayTracingMeshDrawCommands.h:306
FRHIRayTracingShader * Shader
Definition RayTracingMeshDrawCommands.h:309
FMeshDrawShaderBindings ShaderBindings
Definition RayTracingMeshDrawCommands.h:308
RENDERER_API void SetShader(const TShaderRef< FShader > &Shader)
RENDERER_API void SetRayTracingShaderBindings(FRayTracingLocalShaderBindingWriter *BindingWriter, const TUniformBufferRef< FViewUniformShaderParameters > &ViewUniformBuffer, FRHIUniformBuffer *SceneUniformBuffer, FRHIUniformBuffer *NaniteUniformBuffer, uint32 ShaderIndexInPipeline, uint32 ShaderSlot) const
uint32 SlotInScene
Definition RayTracingMeshDrawCommands.h:312
uint32 ShaderIndex
Definition RayTracingMeshDrawCommands.h:311
Definition SpanAllocator.h:15
void Free(int32 BaseOffset, int32 Num=1)
Definition SpanAllocator.h:63
int32 GetMaxSize() const
Definition SpanAllocator.h:80
int32 GetSparselyAllocatedSize() const
Definition SpanAllocator.h:75
int32 Allocate(int32 Num=1)
Definition SpanAllocator.h:23
UE_REWRITE SizeType Num() const
Definition Array.h:1144
void SetNum(SizeType NewNum, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:2308
Definition ChunkedArray.h:56
int32 AddElement(const ElementType &Item)
Definition ChunkedArray.h:193
Definition SparseArray.h:524
U16 Index
Definition radfft.cpp:71
Definition RayTracingMeshDrawCommands.h:16
FRayTracingCachedMeshCommandFlags()
Definition RayTracingMeshDrawCommands.h:17
bool bAllSegmentsReverseCulling
Definition RayTracingMeshDrawCommands.h:62
bool bAllSegmentsCastShadow
Definition RayTracingMeshDrawCommands.h:55
bool bAllSegmentsTranslucent
Definition RayTracingMeshDrawCommands.h:61
friend uint32 GetTypeHash(const FRayTracingCachedMeshCommandFlags &Key)
Definition RayTracingMeshDrawCommands.h:43
uint32 Data
Definition RayTracingMeshDrawCommands.h:64
bool bTwoSided
Definition RayTracingMeshDrawCommands.h:59
uint64 CachedMeshCommandHash
Definition RayTracingMeshDrawCommands.h:48
bool operator==(const FRayTracingCachedMeshCommandFlags &Other) const
Definition RayTracingMeshDrawCommands.h:32
bool operator!=(const FRayTracingCachedMeshCommandFlags &Other) const
Definition RayTracingMeshDrawCommands.h:38
bool bIsSky
Definition RayTracingMeshDrawCommands.h:60
uint8 InstanceMask
Definition RayTracingMeshDrawCommands.h:53
bool bAnySegmentsCastShadow
Definition RayTracingMeshDrawCommands.h:56
bool bAnySegmentsDecal
Definition RayTracingMeshDrawCommands.h:57
bool bAllSegmentsDecal
Definition RayTracingMeshDrawCommands.h:58
bool bAllSegmentsOpaque
Definition RayTracingMeshDrawCommands.h:54
Definition UseBitwiseSwap.h:13
@ Value
Definition UseBitwiseSwap.h:15