Files
UnrealEngine/Engine/Shaders/Private/RayTracing/RayTracingDebugCHS.usf
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

36 lines
1.0 KiB
HLSL

// Copyright Epic Games, Inc. All Rights Reserved.
#include "../Common.ush"
#include "../Hash.ush"
#include "RayTracingCommon.ush"
#include "RayTracingDebugUtils.ush"
#include "RayTracingHitGroupCommon.ush"
RAY_TRACING_ENTRY_CLOSEST_HIT(RayTracingDebugMainCHS,
FRayTracingDebugPayload, Payload,
FRayTracingIntersectionAttributes, Attributes)
{
Payload.HitT = RayTCurrent();
const uint GPUSceneInstanceId = GetInstanceUserData();
const FInstanceSceneData InstanceSceneData = GetInstanceSceneData(GPUSceneInstanceId);
Payload.InstanceHash = MurmurAdd(InstanceSceneData.PrimitiveId, InstanceSceneData.RelativeId);
Payload.TriangleIndex = PrimitiveIndex();
Payload.WorldNormal = GetGeometryNormalFromTriangleBaseAttributes(PrimitiveIndex());
Payload.InstanceIndex = InstanceIndex();
Payload.GeometryIndex = GeometryIndex();
Payload.ScenePrimitiveIndex = InstanceSceneData.PrimitiveId;
}
RAY_TRACING_ENTRY_ANY_HIT(RayTracingDebugAHS,
FRayTracingDebugPayload, Payload,
FRayTracingIntersectionAttributes, Attributes)
{
Payload.TriangleHitCountPerRay += 1;
}