UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FRHIGlobals::FRayTracing Struct Reference

#include <RHIGlobals.h>

Public Attributes

bool Supported = false
 
bool SupportsShaders = false
 
bool SupportsPSOAdditions = false
 
bool SupportsDispatchIndirect = false
 
bool SupportsAsyncBuildAccelerationStructure = false
 
bool SupportsAsyncRayTraceDispatch = false
 
bool SupportsClusterOps = false
 
bool SupportsAMDHitToken = false
 
bool SupportsInlineRayTracing = false
 
bool RequiresInlineRayTracingSBT = false
 
bool SupportsInlinedCallbacks = false
 
bool SupportsPersistentSBTs = false
 
bool SupportsLooseParamsInShaderRecord = false
 
bool SupportsAccelerationStructureCompaction = false
 
bool SupportsSerializeAccelerationStructure = false
 
bool RequiresSeparateHitGroupContributionsBuffer = false
 
uint32 AccelerationStructureAlignment = 0
 
uint32 ClusterAccelerationStructureAlignment = 0
 
uint32 ClusterAccelerationStructureTemplateAlignment = 0
 
uint32 ScratchBufferAlignment = 0
 
uint32 ShaderTableAlignment = 0
 
uint32 InstanceDescriptorSize = 0
 

Member Data Documentation

◆ AccelerationStructureAlignment

uint32 FRHIGlobals::FRayTracing::AccelerationStructureAlignment = 0

Required alignment for ray tracing acceleration structures.

◆ ClusterAccelerationStructureAlignment

uint32 FRHIGlobals::FRayTracing::ClusterAccelerationStructureAlignment = 0

Required alignment for ray tracing cluster-level acceleration structures.

◆ ClusterAccelerationStructureTemplateAlignment

uint32 FRHIGlobals::FRayTracing::ClusterAccelerationStructureTemplateAlignment = 0

Required alignment for ray tracing cluster-level acceleration structure templates.

◆ InstanceDescriptorSize

uint32 FRHIGlobals::FRayTracing::InstanceDescriptorSize = 0

Size of an individual element in the ray tracing instance buffer. This defines the required stride and alignment of structured buffers of instances.

◆ RequiresInlineRayTracingSBT

bool FRHIGlobals::FRayTracing::RequiresInlineRayTracingSBT = false

Whether or not the RHI requires a SBT for inline ray tracing in compute shaders to fetch geometry information

◆ RequiresSeparateHitGroupContributionsBuffer

bool FRHIGlobals::FRayTracing::RequiresSeparateHitGroupContributionsBuffer = false

Whether or not the RHI supports a seperate hit group buffer when building the acceleration structure

◆ ScratchBufferAlignment

uint32 FRHIGlobals::FRayTracing::ScratchBufferAlignment = 0

Required alignment for ray tracing scratch buffers.

◆ ShaderTableAlignment

uint32 FRHIGlobals::FRayTracing::ShaderTableAlignment = 0

Required alignment for ray tracing shader binding table buffer.

◆ Supported

bool FRHIGlobals::FRayTracing::Supported = false

Whether or not the RHI supports ray tracing on current hardware (acceleration structure building and new ray tracing-specific shader types). SupportsRayTracingShaders and SupportsInlineRayTracing must also be checked before dispatching ray tracing workloads.

◆ SupportsAccelerationStructureCompaction

bool FRHIGlobals::FRayTracing::SupportsAccelerationStructureCompaction = false

Whether or not the RHI supports compacting acceleration structures

◆ SupportsAMDHitToken

bool FRHIGlobals::FRayTracing::SupportsAMDHitToken = false

Whether or not the RHI supports the AMD Hit Token extension.

◆ SupportsAsyncBuildAccelerationStructure

bool FRHIGlobals::FRayTracing::SupportsAsyncBuildAccelerationStructure = false

Whether or not the RHI supports async building ray tracing acceleration structures.

◆ SupportsAsyncRayTraceDispatch

bool FRHIGlobals::FRayTracing::SupportsAsyncRayTraceDispatch = false

Whether or not the RHI supports async ray trace dispatch calls.

◆ SupportsClusterOps

bool FRHIGlobals::FRayTracing::SupportsClusterOps = false

Whether or not the RHI supports NVIDIA Cluster Operations

◆ SupportsDispatchIndirect

bool FRHIGlobals::FRayTracing::SupportsDispatchIndirect = false

Whether or not the RHI supports indirect ray tracing dispatch commands.

◆ SupportsInlinedCallbacks

bool FRHIGlobals::FRayTracing::SupportsInlinedCallbacks = false

Whether or not the RHI supports inlined callbacks

◆ SupportsInlineRayTracing

bool FRHIGlobals::FRayTracing::SupportsInlineRayTracing = false

Whether or not the RHI supports inline ray tracing in compute shaders, without a full ray tracing pipeline.

◆ SupportsLooseParamsInShaderRecord

bool FRHIGlobals::FRayTracing::SupportsLooseParamsInShaderRecord = false

Wether an extra uniform buffer parameter is required when loose parameters are present, or if they are stored directly in the shader record.

◆ SupportsPersistentSBTs

bool FRHIGlobals::FRayTracing::SupportsPersistentSBTs = false

Whether or not the RHI supports persistent SBTs

◆ SupportsPSOAdditions

bool FRHIGlobals::FRayTracing::SupportsPSOAdditions = false

Whether or not the RHI supports adding new shaders to an existing RT PSO.

◆ SupportsSerializeAccelerationStructure

bool FRHIGlobals::FRayTracing::SupportsSerializeAccelerationStructure = false

Whether or not the RHI supports serializing acceleration structures to a file

◆ SupportsShaders

bool FRHIGlobals::FRayTracing::SupportsShaders = false

Whether or not the RHI supports ray tracing raygen, miss and hit shaders (i.e. full ray tracing pipeline). The RHI may support inline ray tracing from compute shaders, but not the full pipeline.


The documentation for this struct was generated from the following file: