【发布时间】:2016-06-07 22:32:28
【问题描述】:
Unity 5 着色器是否可以访问 DX11 管道中的流输出阶段?参考:https://msdn.microsoft.com/en-us/library/windows/desktop/bb205121%28v=vs.85%29.aspx
我想在着色器中计算新的顶点数据,然后将此信息输出到脚本以用于非渲染目的(影响后与网格相关的损坏)。
我目前正在使用 GPGPU 着色器来实现这一点,但是管道上的额外负载是不可取的。这不能真正改变,因为它与网格中的顶点数量成正比,所以我认为如果我可以使用 Unity 使用的 DX11 渲染管道中的流输出阶段,那么这可以减轻这样的负载,因为顶点数据将只需要在渲染阶段传递给 GPU 一次,而不是通过 GPGPU 着色器传递两次。
这种方法是否正确,我可以访问流输出阶段吗?
(所有脚本都是 C#)
【问题讨论】:
标签: c# unity3d shader directx-11 compute-shader