D3D12将Backbuffer表面用作无序的访问视图(UAV)



im制作一个简单的射线标准器是一个计算机着色器,应该用来遮挡三角形或其他原始性。为此,我想直接在计算着色器中写入反式曲面,然后呈现结果。我可以肯定的是,尽管我似乎无法在DX12中使用它,但这是在DX11中的可能性。

我无法收集太多有关此信息的信息,但是我发现这个Gamedev线程讨论了我试图找出的完全相同的问题,他们似乎得出了结论,这是我的解决方法:写入中间纹理然后在管道中采样。我不能完全接受DX12中无法实现的。为什么要删除该功能?难道是排队系统删除了一些开销,这使得具有此功能的不必要吗?

有什么办法可以在不写入单独纹理的情况下实现射线跟踪器,然后在管道中进行采样或将其复制到反缓冲器上?我最好的替代方案是什么?

您必须访问答案。他们删除了创建UAV的能力,就像删除了在Swapchain中使用多样本表面的能力一样。

在Swapchain表面上授权无人机的问题在于,他们将不得不放弃对正在发生的事情的追踪。DX12依赖于无人机在运行时100%波动的描述量(渲染目标仅为CPU侧,并且可以跟踪)。

Microsoft需要强烈跟踪Swapchain表面状态,以确保使用桌面表现来保证行为,因此,他们选择否认无人机绑定。

相关内容

  • 没有找到相关文章

最新更新