OpenGL:片段vs顶点着色器的渐变?
问题描述:
我是新来的OpenGL,我想了解顶点和片段着色器。例如,如果您定义每个顶点所需的颜色,您似乎可以使用顶点着色器创建渐变,但似乎您也可以使用片段着色器进行渐变,例如,如果使用FragCoord变量。OpenGL:片段vs顶点着色器的渐变?
我的问题是,既然您似乎能够使用两种着色器制作颜色渐变,哪一种更适合使用?我猜测顶点着色器更快或者是因为每个人似乎都在使用它们,但我只是想确定一下。
答
...因为每个人似乎都使用它们
使用顶点和片段着色是现代的OpenGL强制渲染绝对一切。 †所以大家都用都。顶点着色器负责计算顶点的颜色,OpenGL在它们之间进行插值,片段着色器将插值写入输出颜色附件。
†好的,您也可以使用带有imageStore的计算着色器,但我在此讨论栅格化管道。
这取决于渐变的种类。如果您只需要(每个面)线性渐变,则使用顶点着色器并让GPU进行插值。对于其他类型,您将主要需要片段着色器。 –
是的,每张脸都是我想要的。谢谢(你的)信息 – MysteryPancake