顶点着色器程序是按片段计算的,还是简单地插值?

时间:2017-09-07 09:02:41

标签: shader

我认为Direct3D和OpenGL在这方面的工作方式相同,所以我不会指定api。

在幕后,顶点着色器输出结构是在传递给片段着色器时插值的,还是着色器本身是用中间值插值(多次运行)?

如果有一个相对昂贵的片段着色器和少量顶点要处理,是否会将一些代码移动到顶点着色器以帮助提高性能?

1 个答案:

答案 0 :(得分:0)

片段着色器在光栅化后调用屏幕上的每个像素,因此将一些代码移动到顶点着色器将改善性能。但是一些时间效应会更加糟糕。例如,具有lowpoly网格的光点看起来非常难看,或者如果斑点可以适合单个三角形,甚至可能是不可察觉的,看看here

查看此OpenGL wiki以更好地理解渲染管道。