Files
UnrealEngine/Engine/Shaders/Private/PathTracing/PathTracingDefaultHitShader.usf
2025-05-18 13:04:45 +08:00

38 lines
1.2 KiB
HLSL

// Copyright Epic Games, Inc. All Rights Reserved.
#include "/Engine/Private/Common.ush"
#include "/Engine/Private/RayTracing/RayTracingCommon.ush"
#include "/Engine/Private/PathTracing/PathTracingCommon.ush"
RAY_TRACING_ENTRY_CLOSEST_HIT(PathTracingDefaultOpaqueCHS,
FPackedPathTracingPayload, PackedPayload,
FRayTracingIntersectionAttributes, Attributes)
{
// mark hit as solid black
FPathTracingPayload Payload = (FPathTracingPayload)0;
Payload.ShadingModelID = SHADINGMODELID_UNLIT;
Payload.BSDFOpacity = 1.0;
PackedPayload = PackPathTracingPayload(Payload);
PackedPayload.HitT = RayTCurrent();
}
RAY_TRACING_ENTRY_CLOSEST_HIT(PathTracingDefaultHiddenCHS,
FPackedPathTracingPayload, PackedPayload,
FRayTracingIntersectionAttributes, Attributes)
{
// mark hit as fully transparent
FPathTracingPayload Payload = (FPathTracingPayload)0;
Payload.ShadingModelID = SHADINGMODELID_UNLIT;
Payload.TransparencyColor = 1.0;
PackedPayload = PackPathTracingPayload(Payload);
PackedPayload.HitT = RayTCurrent();
}
RAY_TRACING_ENTRY_ANY_HIT(PathTracingDefaultHiddenAHS,
FPackedPathTracingPayload, PackedPayload,
FRayTracingIntersectionAttributes, Attributes)
{
IgnoreHit();
}