UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RaytracingOptions.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 RaytracingOptions.h declares ray tracing options for use in rendering
5=============================================================================*/
6
7#pragma once
8
9#include "RHIDefinitions.h"
10#include "RayTracingPayloadType.h"
11
13class FViewInfo;
15class FLightSceneInfo;
16class FScene;
17class FSceneView;
21struct FEngineShowFlags;
22
23// be sure to also update the definition in the `RayTracingPrimaryRays.usf`
25{
26 None = 0,
28 PrimaryView = 1 << 1,
29 AllowSkipSkySample = 1 << 2,
30};
31
33
51
53{
54 // Rendering feature can use the full ray tracing pipeline, with raygen, hit and miss shaders.
55 FullPipeline = 1 << 0,
56
57 // Rendering feature can use inline ray tracing
58 Inline = 1 << 1,
59};
61
62namespace RayTracing
63{
64 // Keep in sync with r.RayTracing.Culling
74}
75
76#if RHI_RAYTRACING
77
78// Whether a particular effect should be used, taking into account debug override
82
83extern bool AnyInlineRayTracingPassEnabled(const FScene* Scene, const FViewInfo& View);
85
88extern bool ShouldRenderRayTracingTranslucency(const FViewInfo& View);
89extern bool ShouldRenderRayTracingShadows(const FSceneViewFamily& ViewFamily);
91extern bool ShouldRenderRayTracingShadowsForLight(const FSceneViewFamily& ViewFamily, const FLightSceneInfoCompact& LightInfo);
93extern bool HasRayTracedOverlay(const FSceneViewFamily& ViewFamily);
94
95namespace RayTracing
96{
97 extern ECullingMode GetCullingMode(const FEngineShowFlags& ShowFlags);
98}
99
101extern float GetRaytracingMaxNormalBias();
102extern float GetRayTracingCullingRadius();
103extern bool IsRayTracingInstanceDebugDataEnabled(const FViewInfo& View);
104extern bool IsRayTracingInstanceOverlapEnabled(const FViewInfo& View);
106extern bool IsRayTracingFeedbackEnabled(const FSceneViewFamily& ViewFamily);
107
108extern bool CanUseRayTracingAMDHitToken();
109
110#else // RHI_RAYTRACING
111
116
121
123{
124 return false;
125}
126
131
133{
134 return false;
135}
136
138{
139 return false;
140}
141
143{
144 return false;
145}
146
148{
149 return false;
150}
151
153{
154 return false;
155}
156
158{
159 return false;
160}
161
163{
164 return false;
165}
166
167namespace RayTracing
168{
173}
174
176{
177 return 0.0;
178}
179
181{
182 return false;
183}
184
186{
187 return false;
188}
189
191{
192 return false;
193}
194
196{
197 return false;
198}
199
201{
202 return false;
203}
204
205#endif // RHI_RAYTRACING
#define FORCEINLINE
Definition AndroidPlatform.h:140
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 ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
EShaderPlatform
Definition RHIShaderPlatform.h:11
FORCEINLINE bool ShouldRenderRayTracingShadows(const FSceneViewFamily &ViewFamily)
Definition RaytracingOptions.h:142
FORCEINLINE bool IsRayTracingFeedbackEnabled(const FSceneViewFamily &ViewFamily)
Definition RaytracingOptions.h:195
FORCEINLINE bool CanUseRayTracingAMDHitToken()
Definition RaytracingOptions.h:180
FORCEINLINE bool ShouldRenderRayTracingSkyLight(const FSkyLightSceneProxy *SkyLightSceneProxy, EShaderPlatform ShaderPlatform)
Definition RaytracingOptions.h:127
FORCEINLINE bool ShouldRenderRayTracingTranslucency(const FViewInfo &View)
Definition RaytracingOptions.h:137
FORCEINLINE float GetRayTracingCullingRadius()
Definition RaytracingOptions.h:175
FORCEINLINE bool RaytracingDebugViewModeNeedsTonemapping(const FViewInfo &View)
Definition RaytracingOptions.h:200
FORCEINLINE bool ShouldRenderRayTracingShadowsForLight(const FSceneViewFamily &ViewFamily, const FLightSceneProxy &LightProxy)
Definition RaytracingOptions.h:147
ERayTracingPrimaryRaysFlag
Definition RaytracingOptions.h:25
FORCEINLINE bool IsRayTracingInstanceDebugDataEnabled(const FViewInfo &View)
Definition RaytracingOptions.h:185
FORCEINLINE bool ShouldRenderRayTracingAmbientOcclusion(const FViewInfo &View)
Definition RaytracingOptions.h:132
FORCEINLINE bool ShouldRenderRayTracingSkyLightEffect()
Definition RaytracingOptions.h:122
FORCEINLINE bool ShouldRenderPluginRayTracingGlobalIllumination(const FViewInfo &View)
Definition RaytracingOptions.h:157
FORCEINLINE bool ShouldRenderRayTracingEffect(bool bEffectEnabled, ERayTracingPipelineCompatibilityFlags CompatibilityFlags, const FSceneView &View)
Definition RaytracingOptions.h:112
ERayTracingPipelineCompatibilityFlags
Definition RaytracingOptions.h:53
FORCEINLINE bool HasRayTracedOverlay(const FSceneViewFamily &ViewFamily)
Definition RaytracingOptions.h:162
FORCEINLINE bool IsRayTracingInstanceOverlapEnabled(const FViewInfo &View)
Definition RaytracingOptions.h:190
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition LightSceneInfo.h:36
Definition LightSceneInfo.h:208
Definition LightSceneProxy.h:43
Definition SceneView.h:2212
Definition SceneView.h:1425
Definition ScenePrivate.h:2875
Definition SkyLightSceneProxy.h:17
Definition SceneRendering.h:1132
Definition SceneManagement.h:73
FORCEINLINE ECullingMode GetCullingMode(const FEngineShowFlags &ShowFlags)
Definition RaytracingOptions.h:169
ECullingMode
Definition RaytracingOptions.h:66
Definition ShowFlags.h:56
Definition RaytracingOptions.h:35
bool bForceOpaque
Definition RaytracingOptions.h:37
int32 EnableRefraction
Definition RaytracingOptions.h:49
int32 EnableDirectLighting
Definition RaytracingOptions.h:44
float PrimaryRayBias
Definition RaytracingOptions.h:40
int32 EnableEmmissiveAndIndirectLighting
Definition RaytracingOptions.h:43
bool bEnabled
Definition RaytracingOptions.h:36
int32 MaxRefractionRays
Definition RaytracingOptions.h:42
float MaxRayDistance
Definition RaytracingOptions.h:48
float MaxRoughness
Definition RaytracingOptions.h:41
int32 SamplerPerPixel
Definition RaytracingOptions.h:38
float MinRayDistance
Definition RaytracingOptions.h:47
int32 EnableShadows
Definition RaytracingOptions.h:45
int32 ShadowsTranslucencyType
Definition RaytracingOptions.h:46
int32 ApplyHeightFog
Definition RaytracingOptions.h:39