UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
BuiltInRayTracingShaders.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "GlobalShader.h"
7#include "RHIDefinitions.h"
10
11#if RHI_RAYTRACING
12
14{
15protected:
17 {}
18
19public:
21 {
23 }
24
25 FBuiltInRayTracingShader() = default;
26 FBuiltInRayTracingShader(const ShaderMetaType::CompiledShaderInitializerType& Initializer)
28 {}
29};
30
31
33{
35public:
36 static ERayTracingPayloadType GetRayTracingPayloadType(const int32 PermutationId);
37
38 FDefaultPayloadMS() = default;
39 FDefaultPayloadMS(const ShaderMetaType::CompiledShaderInitializerType& Initializer)
41 {}
42};
43
45{
47public:
48 static ERayTracingPayloadType GetRayTracingPayloadType(const int32 PermutationId);
49
51 FPackedMaterialClosestHitPayloadMS(const ShaderMetaType::CompiledShaderInitializerType& Initializer)
53 {}
54};
55
57{
59
60public:
61 FRayTracingDispatchDescCS() = default;
62 FRayTracingDispatchDescCS(const ShaderMetaType::CompiledShaderInitializerType& Initializer)
64 {
65 DispatchDescInputParam.Bind(Initializer.ParameterMap, TEXT("DispatchDescInput"), SPF_Mandatory);
66 DispatchDescSizeDwordsParam.Bind(Initializer.ParameterMap, TEXT("DispatchDescSizeDwords"), SPF_Mandatory);
67 DispatchDescDimensionsOffsetDwordsParam.Bind(Initializer.ParameterMap, TEXT("DispatchDescDimensionsOffsetDwords"), SPF_Mandatory);
68 DimensionsBufferOffsetDwordsParam.Bind(Initializer.ParameterMap, TEXT("DimensionsBufferOffsetDwords"), SPF_Mandatory);
69 DispatchDimensionsParam.Bind(Initializer.ParameterMap, TEXT("DispatchDimensions"), SPF_Mandatory);
70 DispatchDescOutputParam.Bind(Initializer.ParameterMap, TEXT("DispatchDescOutput"), SPF_Mandatory);
71 }
72
74 {
75 OutEnvironment.SetDefine(TEXT("DISPATCH_DESC_MAX_SIZE_DWORDS"), DispatchDescMaxSizeDwords);
77 }
78
79 static RENDERCORE_API void Dispatch(FRHICommandList& RHICmdList,
83
84 static constexpr uint32 DispatchDescMaxSizeDwords = 32;
85
92};
93
94#endif // RHI_RAYTRACING
95
#define TEXT(x)
Definition Platform.h:1272
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
#define DECLARE_GLOBAL_SHADER(ShaderClass)
Definition GlobalShader.h:408
#define LAYOUT_FIELD(T, Name,...)
Definition MemoryLayout.h:471
bool ShouldCompileRayTracingShadersForProject(EShaderPlatform ShaderPlatform)
Definition RenderUtils.cpp:1758
@ SPF_Mandatory
Definition ShaderParameters.h:51
#define DECLARE_EXPORTED_SHADER_TYPE(ShaderClass, ShaderMetaTypeShortcut, RequiredAPI,...)
Definition Shader.h:1683
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition GlobalShader.h:269
static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &Environment)
Definition GlobalShader.h:289
static bool ShouldCompilePermutation(const FShaderPermutationParameters &)
Definition Shader.h:860
Definition RHICommandList.h:3819
Definition RHIResources.h:3304
Definition RHIResources.h:3294
Definition ShaderParameters.h:56
Definition ShaderParameters.h:87
void ModifyCompilationEnvironment(EShaderPlatform Platform, FDecalBlendDesc DecalBlendDesc, EDecalRenderStage DecalRenderStage, FShaderCompilerEnvironment &OutEnvironment)
Definition DecalRenderingCommon.cpp:959
void Dispatch(FRHIComputeCommandList &RHICmdList, const TShaderRef< TShaderClass > &ComputeShader, const FShaderParametersMetadata *ParametersMetadata, const typename TShaderClass::FParameters &Parameters, FIntVector GroupCount)
Definition RenderGraphUtils.h:491
Definition GlobalShader.h:73
Definition ShaderCore.h:544
const EShaderPlatform Platform
Definition ShaderPermutation.h:29