DirectCompute: A Multipurpose Shader
Outside of the rendering pipeline, DirectX11 provides us a separate shader stage: Compute.
Beyond the obvious particle simulations, and the "Buffer as Spread" paradigm, compute has much more to offer, but then everything becomes "slightly" more complicated.
This workshop will explain intermediate/advanced use cases for compute shaders.
In the first part of the workshop, we will learn by example generic features, such as Multiple Buffer/Scattered writes, Append/Counter UAV, Indirect Buffers, Interlocked operations and Thread Synchronization.
In the second part, we'll use those features for more real world/practical use cases, such as Image/Geometry processing, Parallel reduction, Stream compaction, Spatial optimizations, Data driven simulations.