Добавляемые буферы DX11 - PullRequest
0 голосов
/ 29 октября 2018

Я кодировал алгоритм трассировки лучей, используя SharpDX, и все работает хорошо, используя RWStructuredBuffer в качестве выходного буфера. Теперь я хотел бы использовать добавляемый структурированный буфер вместо чтения и записи. Но я не могу найти в сети полезное руководство. Я изменил флаг добавления в uavDescriptor, но думаю, что-то пропустил!

BufferDescription bufferDescription = new BufferDescription() {
            BindFlags = BindFlags.UnorderedAccess | BindFlags.ShaderResource,
            Usage = ResourceUsage.Default,
            CpuAccessFlags = CpuAccessFlags.None,
            OptionFlags = ResourceOptionFlags.BufferStructured,
            StructureByteStride = Utilities.SizeOf<T>(),
            SizeInBytes = Utilities.SizeOf<T>() * count
        };
        buffer = new Buffer(Device, bufferDescription);

UnorderedAccessViewDescription uavDescription = new UnorderedAccessViewDescription() {
            Buffer = new UnorderedAccessViewDescription.BufferResource() { FirstElement = 0, Flags = UnorderedAccessViewBufferFlags.Append, ElementCount = count },
            Format = SharpDX.DXGI.Format.Unknown,
            Dimension = UnorderedAccessViewDimension.Buffer
        };
...