4

我正在开发的图形引擎出现了一个主要瓶颈,即顶点的矩阵变换(几乎没有静态顶点)。到目前为止,我一直在用 CPU 转换顶点并更新每一帧的顶点缓冲区(数据复制本身是一个小瓶颈,但到目前为止是可控的)。

所以我在想,如果我可以将网格缓冲区保留在 GPU 中,我可以在那里转换顶点并将转换后的一组顶点返回到主内存以进行其他处理(后续处理需要比 GPU 着色器更多的内部连接允许)。这可能会消除当前代码中的瓶颈。

关于如何做到这一点的任何提示?谢谢。

4

1 回答 1

7

查看 DX11 中的流输出阶段:

http://msdn.microsoft.com/en-us/library/windows/desktop/bb205121(v=vs.85).aspx

它允许您附加一个内存缓冲区(在 CPU 或 GPU 上),其中存储来自顶点着色器(和可能的几何着色器)的结果。

于 2012-04-05T10:29:03.243 回答