Exemplo n.º 1
0
 public GpuBuffer(Device device, int itemSize, int itemCount)
 {
     StructSize    = System.Runtime.InteropServices.Marshal.SizeOf <T>();// sizeof(T)),
     StructCount   = itemCount * itemSize;
     ItemTotalSize = itemSize * StructSize;
     ItemCount     = itemCount;
     Size          = StructSize * itemSize * itemCount;
     Buffer        = DXUtility.CreateBuffer(device, Size, ResourceUsage.Default, BindFlags.ShaderResource | BindFlags.UnorderedAccess, 0, ResourceOptionFlags.BufferStructured, StructSize);
     SRV           = DXUtility.CreateShaderResourceView(device, Buffer, Format.Unknown, ShaderResourceViewDimension.Buffer, 0, 0, StructCount, 0);
     UAV           = DXUtility.CreateUnorderedAccessView(device, Buffer, Format.Unknown, UnorderedAccessViewDimension.Buffer, 0, StructCount, 0, 0);
 }