GraphicsBuffer can be used as a structured buffer.
In HLSL shaders, this maps to StructuredBuffer<T>
or RWStructuredBuffer<T>
.
When you construct a GraphicsBuffer of this type, the value of stride
must match the stride of the corresponding StructuredBuffer struct type in your HLSL code. It must also be a multiple of 4, and less than 2048.
See Microsoft's HLSL documentation on StructuredBuffer and RWStructuredBuffer.
DirectX 11 does not allow Index or ::Vertex buffers to also be Structured
. For compute shader mesh data access with DirectX 11 compatibility, it is best to use Raw.
See Also: GraphicsBuffer, ComputeShader, Material.SetBuffer.