You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

20 lines
729 B
Plaintext

#include "./../../../GPUInstancer/Resources/Compute/Include/PlatformDefines.compute"
#pragma kernel CSAsyncBoneUpdate
uniform RWStructuredBuffer<float4x4> asyncBoneUpdateDataBuffer;
uniform StructuredBuffer<float4x4> gpuiAnimationBuffer;
uniform StructuredBuffer<int> asyncBoneUpdateFilterBuffer;
uniform uint totalNumberOfBones;
uniform uint instanceCount;
uniform uint boneFilterCount;
[numthreads(GPUI_THREADS_2D, GPUI_THREADS_2D, 1)]
void CSAsyncBoneUpdate(uint3 id : SV_DispatchThreadID)
{
if (id.x >= instanceCount || id.y >= boneFilterCount)
return;
asyncBoneUpdateDataBuffer[id.x * boneFilterCount + id.y] = gpuiAnimationBuffer[id.x * totalNumberOfBones + asyncBoneUpdateFilterBuffer[id.y]];
}