NVIDIA DrectCompute Programming Guide
http://developer.download.nvidia.com/compute/DevZone/docs/html/DirectCompute/doc/DirectCompute_Programming_Guide.pdf
Compute Shader のメモリー周りを解説している記事です。
入門に最適です。
DirectX 10 まではシェーダーからリソースの読み込みしか出来ませんでしたが、DirectX 11 からはシェーダーからリソースへの書き込みにも対応しています。レンダーターゲット以外の任意のメモリ領域にも値を書き込むことができるようになっています。
DirectX11 で生成できるバッファの種類には下記のものがあります。RW とついている型はシェーダーからの読み書きが行えます。ついていない型は読み取り専用です。Append/Consume バッファはシェーダー上でスタック (FILO) のようにデータを処理できるバッファです。
- RWBuffer
- Texture1D/RWTexture1D
- Texture1DArray/RWTexture1DArray
- Texture2D/RWTexture2D
- Texture2DArray/RWTexture2DArray
- Texture3D/RWTexture3D,
- StructuredBuffer/RWStructuredBuffer
- ByteAddressBuffer/RWByteAddressBuffer
- AppendStructuredBuffer/ConsumeStructuredBuffer
MSDN の RWTexture2D や StructuredBuffer のページは参考になります。
AppendStructuredBuffer/ConsumeStructuredBuffer