几何着色器和顶点着色器之间的性能差异

rps*_*rps 7 opengl shader glsl

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

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

Nic*_*las 6

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

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

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

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