Files
ZHGD_Web/Assets/Art/Art Plugins/GPUInstancer/Resources/Compute/CSInstancedComputeBufferSetDataPartialKernel.compute
2025-07-13 23:16:20 +08:00

26 lines
780 B
Plaintext

#include "Include/PlatformDefines.hlsl"
#pragma kernel CSInstancedComputeBufferSetDataPartialKernel
#pragma kernel CSInstancedComputeBufferSetDataSingleKernel
RWStructuredBuffer<float4x4> gpuiInstanceData;
RWStructuredBuffer<float4x4> gpuiManagedData;
uniform float4x4 dataToSet;
uniform uint computeBufferStartIndex;
uniform uint count;
[numthreads(GPUI_THREADS, 1, 1)]
void CSInstancedComputeBufferSetDataPartialKernel(uint3 id : SV_DispatchThreadID)
{
// runtime modification on instanceData
if (count > id.x)
gpuiInstanceData[computeBufferStartIndex + id.x] = gpuiManagedData[id.x];
}
[numthreads(1, 1, 1)]
void CSInstancedComputeBufferSetDataSingleKernel(uint3 id : SV_DispatchThreadID)
{
gpuiInstanceData[computeBufferStartIndex] = dataToSet;
}