我熟悉顶点和片段着色器,但仍然对片段着色器如何确定顶点着色器输出的碎片数量感到困惑。
如果我有3个顶点,并在GLSL中绘制一个三角形原语,那么顶点着色器将对每个顶点运行三次,然后片段着色器将运行多次(取决于碎片的数量,每个片段一次)。
我想知道碎片着色器是如何决定碎片的?它使用gl_Position吗?如果我没有在我的顶点着色器中设置gl_Position,碎片着色器是否仍然能够生成片段?
每一次在顶点着色器中设置gl_Position都是强制性的吗?
发布于 2014-11-21 20:43:25
你说的是光栅化的步骤,也就是扫描转换。GPU获取由顶点着色器生成的位置,并插值它们的属性以生成传递给片段着色器的片段。因此,对您来说,在顶点着色器中设置gl_Position是非常重要的。
在将三角形坐标转换为窗口坐标后,扫描转换取三角形,并根据三角形覆盖的输出图像上窗口像素的排列来分割三角形。来源。

https://stackoverflow.com/questions/27069881
复制相似问题