UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FVulkanRayTracingShaderTable Class Reference

#include <VulkanRayTracing.h>

+ Inheritance diagram for FVulkanRayTracingShaderTable:

Public Member Functions

 FVulkanRayTracingShaderTable (FRHICommandListBase &RHICmdList, FVulkanDevice &InDevice, const FRayTracingShaderBindingTableInitializer &InInitializer)
 
 ~FVulkanRayTracingShaderTable ()
 
void ReleaseLocalBuffers ()
 
const VkStridedDeviceAddressRegionKHRGetRegion (EShaderFrequency Frequency)
 
void SetSlot (EShaderFrequency Frequency, uint32 DstSlot, uint32 SrcHandleIndex, TConstArrayView< uint8 > SrcHandleData)
 
VkStridedDeviceAddressRegionKHR CommitRayGenShader (FVulkanCommandListContext &Context, uint32 SrcHandleIndex, TConstArrayView< uint8 > SrcHandleData)
 
template<typename T >
void SetLocalShaderParameters (EShaderFrequency Frequency, uint32 RecordIndex, uint32 InOffsetWithinRootSignature, const T &Parameters)
 
void SetLocalShaderParameters (EShaderFrequency Frequency, uint32 RecordIndex, uint32 OffsetWithinRecord, const void *InData, uint32 InDataSize)
 
void SetLooseParameterData (EShaderFrequency Frequency, uint32 RecordIndex, const void *InData, uint32 InDataSize)
 
void SetInlineGeometryParameters (uint32 SegmentIndex, const void *InData, uint32 InDataSize)
 
void Commit (FVulkanCommandListContext &Context, FRHIBuffer *InlineBindingDataBuffer)
 
virtual FRHISizeAndStride GetInlineBindingDataSizeAndStride () const override final
 
void AddUBRef (FRHIUniformBuffer *UB)
 
TArrayView< TRefCountPtr< FRHIUniformBuffer > > GetUBRefs ()
 
ERayTracingHitGroupIndexingMode GetHitGroupIndexingMode () const
 
ERayTracingShaderBindingMode GetShaderBindingMode () const
 
FVulkanDeviceGetDevice ()
 
- Public Member Functions inherited from FRHIShaderBindingTable
 FRHIShaderBindingTable (const FRayTracingShaderBindingTableInitializer &InInitializer)
 
const FRayTracingShaderBindingTableInitializerGetInitializer () const
 
FRHIShaderResourceViewGetOrCreateInlineBufferSRV (FRHICommandListBase &RHICmdList)
 
- Public Member Functions inherited from FRHIResource
RHI_API FRHIResource (ERHIResourceType InResourceType)
 
uint32 AddRef () const
 
uint32 Release () const
 
uint32 GetRefCount () const
 
bool IsValid () const
 
void DisableLifetimeExtension ()
 
ERHIResourceType GetType () const
 
FName GetOwnerName () const
 
void SetOwnerName (FName InOwnerName)
 

Static Public Attributes

static constexpr uint32 MaxBindingWorkers = 1
 

Additional Inherited Members

- Protected Member Functions inherited from FRHIResource
virtual RHI_API ~FRHIResource ()
 
- Protected Attributes inherited from FRHIShaderBindingTable
FRayTracingShaderBindingTableInitializer Initializer = {}
 

Constructor & Destructor Documentation

◆ FVulkanRayTracingShaderTable()

FVulkanRayTracingShaderTable::FVulkanRayTracingShaderTable ( FRHICommandListBase RHICmdList,
FVulkanDevice InDevice,
const FRayTracingShaderBindingTableInitializer InInitializer 
)

◆ ~FVulkanRayTracingShaderTable()

FVulkanRayTracingShaderTable::~FVulkanRayTracingShaderTable ( )

Member Function Documentation

◆ AddUBRef()

void FVulkanRayTracingShaderTable::AddUBRef ( FRHIUniformBuffer UB)
inline

◆ Commit()

void FVulkanRayTracingShaderTable::Commit ( FVulkanCommandListContext Context,
FRHIBuffer InlineBindingDataBuffer 
)

◆ CommitRayGenShader()

VkStridedDeviceAddressRegionKHR FVulkanRayTracingShaderTable::CommitRayGenShader ( FVulkanCommandListContext Context,
uint32  SrcHandleIndex,
TConstArrayView< uint8 SrcHandleData 
)

◆ GetDevice()

FVulkanDevice & FVulkanRayTracingShaderTable::GetDevice ( )
inline

◆ GetHitGroupIndexingMode()

ERayTracingHitGroupIndexingMode FVulkanRayTracingShaderTable::GetHitGroupIndexingMode ( ) const
inline

◆ GetInlineBindingDataSizeAndStride()

FRHISizeAndStride FVulkanRayTracingShaderTable::GetInlineBindingDataSizeAndStride ( ) const
finaloverridevirtual

Reimplemented from FRHIShaderBindingTable.

◆ GetRegion()

const VkStridedDeviceAddressRegionKHR * FVulkanRayTracingShaderTable::GetRegion ( EShaderFrequency  Frequency)

◆ GetShaderBindingMode()

ERayTracingShaderBindingMode FVulkanRayTracingShaderTable::GetShaderBindingMode ( ) const
inline

◆ GetUBRefs()

TArrayView< TRefCountPtr< FRHIUniformBuffer > > FVulkanRayTracingShaderTable::GetUBRefs ( )
inline

◆ ReleaseLocalBuffers()

void FVulkanRayTracingShaderTable::ReleaseLocalBuffers ( )

◆ SetInlineGeometryParameters()

void FVulkanRayTracingShaderTable::SetInlineGeometryParameters ( uint32  SegmentIndex,
const void InData,
uint32  InDataSize 
)

◆ SetLocalShaderParameters() [1/2]

template<typename T >
void FVulkanRayTracingShaderTable::SetLocalShaderParameters ( EShaderFrequency  Frequency,
uint32  RecordIndex,
uint32  InOffsetWithinRootSignature,
const T &  Parameters 
)
inline

◆ SetLocalShaderParameters() [2/2]

void FVulkanRayTracingShaderTable::SetLocalShaderParameters ( EShaderFrequency  Frequency,
uint32  RecordIndex,
uint32  OffsetWithinRecord,
const void InData,
uint32  InDataSize 
)

◆ SetLooseParameterData()

void FVulkanRayTracingShaderTable::SetLooseParameterData ( EShaderFrequency  Frequency,
uint32  RecordIndex,
const void InData,
uint32  InDataSize 
)
inline

◆ SetSlot()

void FVulkanRayTracingShaderTable::SetSlot ( EShaderFrequency  Frequency,
uint32  DstSlot,
uint32  SrcHandleIndex,
TConstArrayView< uint8 SrcHandleData 
)

Member Data Documentation

◆ MaxBindingWorkers

constexpr uint32 FVulkanRayTracingShaderTable::MaxBindingWorkers = 1
staticconstexpr

The documentation for this class was generated from the following files: