我对如何使用片段着色器绘制具有特定宽度(或多行)的线感兴趣。我偶然发现this post似乎在解释它。
我所面临的挑战是了解其背后的逻辑。
几个问题:
答案 0 :(得分:2)
我将尝试逐一回答您的所有问题:
1)是的,这实际上是正确的。
2)在3d计算机图形中常见的是表示坐标(在某些边界内),浮点值介于0和1之间(或介于-1和1之间)。首先,这使得很容易判断给定值是否超过所述边界,并且抽象出“像素”是离散图像单元的概念;此外,这种常见的做法几乎可以在其他任何地方找到(想想设备坐标或纹理坐标)
不要害怕与你合作的价值不到一个;事实上,在计算机图形学中,你通常会处理浮点算术,FLOAT类型非常擅长在“1”点附近表达实数值。
3)h的公式给出由2部分组成:平方根部分和2 / c系数。平方根部分应该从scholl数学类中众所周知 - 这是三角形区域(在a,b,c之间)的Heron公式。 2 / c提取所述三角形的高度,该高度存储在h中,并且也是点uv与三角形的“地线”之间的距离。然后使用该距离来确定uv相对于线p1-p2的位置。