7

目前正在渲染大约 100 万个顶点的模型。在顶点着色器中,我正在为每个顶点进行一些复杂的计算。现在我想提高模型的分辨率。我对此有两个疑问:

  1. 是否建议使用几何着色器将分辨率提高到非常大的因子(例如 64 倍)?
  2. 如果我引入几何着色器,我可能需要将计算从顶点着色器移动到几何着色器。就性能而言,在顶点着色器中执行操作是否与在几何着色器中执行操作相同。
4

1 回答 1

6

是否建议使用几何着色器将分辨率提高到非常大的因子,例如 64 倍。

绝对不。虽然 GS可以放大几何图形并进行曲面细分,但这并不是它们真正的用途。它们的主要用途是处理变换反馈数据(特别是可以处理多流输出的硬件)和分层渲染。

如果我引入几何着色器,我可能需要将计算从顶点着色器移动到几何着色器。就性能而言,在顶点着色器中执行操作是否与在几何着色器中执行操作相同。

在 GS 中做尽可能少的工作是合理的。GS 发生在 T&L 后缓存之后,您希望尽可能多地从中获得。因此,在顶点着色器中尽可能多地进行真正的转换工作。

于 2012-11-02T05:35:33.770 回答