
Bresenham 算法是一种高效的整数型光栅显示线绘制方法。它避免了浮点计算,使用增量误差跟踪,并选择最近的像素来近似直线。它快速、准确,在计算机图形学中得到广泛应用。

首先,确保从左到右画线。如果 x0 > x1,则交换它们!这可以将 8 种情况转换为 4 种。

其次,确保 delta y (y1-y0)>0。如果 dy < 0,则 stepY = -1,dy = |dy|

第三,确定我们步进过程的主要方向很重要。如果斜率> 1,则意味着我们应该沿着 y 轴前进。

该算法通过将误差项 (errX 或 errY) 与 0 进行比较来确定下一个像素。

在三角形光栅化中使用Bounding Box主要是为了提高效率,减少不必要的计算,增强GPU并行处理,以及优化剔除和裁剪。

二维向量的叉积可以确定一个点是位于三角形边缘的左侧还是右侧。通过计算从该点到每个三角形顶点的向量的叉积,结果的符号可以定义该点是否位于三角形内。如果所有叉积的符号相同,则该点位于三角形内。

二维向量的叉积既可以表示平行四边形的面积,也可以表示点到直线的垂直距离。
Dis(P, AB)越大,越接近C。而且这种方法可以显示出A,B,C的权重有多大

由于透视投影(均匀划分),具有不同深度的三角形上的重心插值不是屏幕 XY 坐标的仿射函数
Smooth
1/2

导数是根据像素之间的差异直接计算的,有前向和后向方法。需要注意的是,即使相邻像素不在三角形内,我们仍然需要使用重心坐标来计算它们数学意义上的值。
We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.