目前正在渲染大约 100 万个顶点的模型。在顶点着色器中,我正在为每个顶点做一些复杂的计算。现在我想提高模型的分辨率。
我对此有两个疑问:
最佳答案
Is it advisable to use geometry shader for increasing resolution to very large factors like 64 times.
绝对不。虽然 GS 可以放大几何图形并执行曲面分割,但这并不是它们真正的用途。它们的主要用途是处理变换反馈数据(特别是可以处理多流输出的硬件)和分层渲染。
If i introduce a geometry shader i might need to move my computation from vertex shader to geometry shader. Whether doing an operation in verterx shader is same as doing it in geometry shader, in terms of performance.
在 GS 中尽可能少做一些合理的工作。 GS 发生在 post-T&L 缓存之后,您希望从中获得尽可能多的信息。因此,在顶点着色器中尽可能多地进行实际转换工作。
关于opengl - 几何着色器和顶点着色器之间的性能差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13189594/