6
是否可以将滤镜应用于要使用Compute Shader渲染的几何数据,然后将结果用作顶点着色器中的输入缓冲区?这会为我省去回读数据的麻烦(&时间)。DirectX11:将数据从ComputeShader传递到VertexShader?
任何帮助,非常感谢。
是否可以将滤镜应用于要使用Compute Shader渲染的几何数据,然后将结果用作顶点着色器中的输入缓冲区?这会为我省去回读数据的麻烦(&时间)。DirectX11:将数据从ComputeShader传递到VertexShader?
任何帮助,非常感谢。
绝对是。首先,您使用BIND_VERTEX_BUFFER
,BIND_SHADER_RESOURCE
和BIND_UNORDERED_ACCESS
使用标志以及关联的无人机和SRV创建两个相同的结构ID3D11Buffer
。
第一步是将您的过滤器应用于输入源缓冲区并在计算过程中写入目标缓冲区。
然后在绘制过程中,您只需将目标缓冲区绑定到IA
阶段。如果你需要在顶点上累积计算,你可以做一些乒乓球(我假设通过筛选你的意思是一个functional map,用于引用函数式编程术语)。
谢谢,听起来不错。 – testalino 2010-11-02 07:53:43