我们从顶点着色器传递给像素着色器的坐标是什么?

我已经阅读了关于着色器编程的文章,并了解了着色器编程的基本知识。 我总是感到困惑的一件事是关于纹理映射。 我从VS传递(输出)到PS是顶点位置和纹理坐标。 我明白,在VS中,我们可以简单地select传递顶点位置,或者在这里操作顶点位置(可能更多)。 所以我们最终通过的是vetex的位置。 但是…我还不清楚,我们正在通过的纹理坐标或紫外线?

如果我理解正确,如果我的模型是由3个顶点组成的简单三角形,VS将为每个顶点运行三次,并且我正在传递顶点的位置。 它直线前进。 但是纹理是什么? 说,我使用50×50 JPG图像作为纹理。 3个顶点如何映射到这个50×50像素的纹理?

从前几天我开始阅读的书中解释说,光栅化器是将顶点分组以形成三角形并计算三角形中的像素数的那个。 但是,对于我来说,我们还不清楚,我们作为纹理坐标传递给VS?

纹理坐标通常表示在[0,1]之间的范围内。 每个(纹理)顶点将具有这些坐标。 这些坐标映射到实际纹理中的纹理元素。 [0,0]是左上角, [1,1]是右下角。 当坐标在1的倍数的范围内时,纹理将重复其自身。

例如,对于具有t[0,0] v0和具有t[1,1] v1之间的半像素,光栅化器将内插纹理坐标值,导致t[0.5,0.5] 。 纹理查找会在纹理中间对纹理元素进行采样。