[英]Fragment shader - drawing a line?
我对如何使用片段着色器绘制具有特定宽度(或多行)的线感兴趣。 我偶然发现这篇文章似乎在解释它。
我所面临的挑战是理解它背后的逻辑。
几个问题:
我将尝试逐一回答您的所有问题:
1)是的,这实际上是正确的。
2)在3d计算机图形中常见的是表示坐标(在某些边界内),浮点值在0和1之间(或在-1和1之间)。 首先,这使得很容易判断给定值是否超过所述边界,并且抽象出“像素”是离散图像单元的概念; 此外,这种常见的做法几乎可以在其他任何地方找到(想想设备坐标或纹理坐标)
不要害怕与你合作的价值不到一个; 事实上,在计算机图形学中,你通常会处理浮点算术,而FLOAT类型则非常善于在“1”点附近表达Real值。
3)h的公式由2部分组成:平方根部分和2 / c系数。 平方根部分应该从scholl数学类中众所周知 - 这是三角形区域(在a,b,c之间)的Heron公式。 2 / c提取所述三角形的高度,该高度存储在h中,并且也是点uv与三角形的“地线”之间的距离。 然后使用该距离来确定uv相对于线p1-p2的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.