ComputeBuffer with a counter.
Adds a "counter" to a RWStructuredBuffer
and allows using IncrementCounter
/ DecrementCounter
HLSL functions on it.
The stride
passed when constructing the buffer must match structure size, be a multiple of 4 and less than 2048.
See Microsoft's HLSL documentation on IncrementCounter and DecrementCounter.
The buffer size value can be copied into another buffer using ComputeBuffer.CopyCount, or explicitly reset with ComputeBuffer.SetCounterValue.
Additional resources: ComputeBuffer, ComputeShader, Material.SetBuffer.