Files
UnrealEngine/Engine/Plugins/FX/Niagara/Shaders/Private/NiagaraRayTraceCollisionGroupShaders.usf
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

30 lines
734 B
HLSL

// Copyright Epic Games, Inc. All Rights Reserved.
#include "/Engine/Private/Common.ush"
#include "/Engine/Private/HashTable.ush"
RWBuffer<uint> RWHashToCollisionGroups;
Buffer<uint2> NewPrimIdCollisionGroupPairs;
uint NumNewPrims;
[numthreads(THREAD_COUNT, 1, 1)]
void UpdatePrimIdToCollisionGroupMap(uint Index : SV_DispatchThreadID)
{
if (Index < NumNewPrims)
{
uint PrimId = NewPrimIdCollisionGroupPairs[Index].x;
uint CollisionGroupId = NewPrimIdCollisionGroupPairs[Index].y;
uint CollisionGroupIdIndex = MurmurMix(PrimId);
//TODO: Handle failures.
if (PrimId != -1)
{
if(HashTableAdd(PrimId, CollisionGroupIdIndex))
{
RWHashToCollisionGroups[CollisionGroupIdIndex] = CollisionGroupId;
}
}
}
}