在 Direct3D 11 中查看 Append/Consume 个缓冲区
Views over Append/Consume buffers in Direct3D 11
我正在使用 append/consume 缓冲区来减少路径追踪器中的着色工作(立即遮蔽空 space + 预通道中的发射器,附加剩余像素以进行完整处理),我听说在通过 AppendStructuredBuffer<T>
访问时应该使用无人机,在通过 ConsumeStructuredBuffer
访问时应该使用 SRV。我没有在 Microsoft 的任何文档中看到该声明,但它可以解释为什么我对 [Consume()] 的调用返回空数据 - 它准确吗?
我应该在问之前自己测试一下 - 在 SRV 寄存器 (tN) 中声明了 ConsumeStructuredBuffer
s 的着色器无法编译并发出错误消息说它们只能通过无人机绑定。
我的AppendStructuredBuffer
通过无人机寄存器绑定工作正常,看来我只是在引用道听途说;无序访问视图应该用于两种 HLSL 类型。
我正在使用 append/consume 缓冲区来减少路径追踪器中的着色工作(立即遮蔽空 space + 预通道中的发射器,附加剩余像素以进行完整处理),我听说在通过 AppendStructuredBuffer<T>
访问时应该使用无人机,在通过 ConsumeStructuredBuffer
访问时应该使用 SRV。我没有在 Microsoft 的任何文档中看到该声明,但它可以解释为什么我对 [Consume()] 的调用返回空数据 - 它准确吗?
我应该在问之前自己测试一下 - 在 SRV 寄存器 (tN) 中声明了 ConsumeStructuredBuffer
s 的着色器无法编译并发出错误消息说它们只能通过无人机绑定。
我的AppendStructuredBuffer
通过无人机寄存器绑定工作正常,看来我只是在引用道听途说;无序访问视图应该用于两种 HLSL 类型。