源码: https://github.com/skychx/toyRenderer/tree/day02-line-drawing-algorithm/tinyrenderer [4] Line Drawing on Raster Displays: https://www.cs.helsinki.fi/group/goa/mallinnus/lines/gsoft2.html [5] The Bresenham Line-Drawing Algorithm: https://www.cs.helsinki.fi/group/goa/mallinnus/lines...
其方法也是DDA算法的一种改进,书中说非常像Bresenham line's algorithm。但我仔细观察了一下,和Bresenham的算法还是不一样的。这里的关键是利用的是射线的参数(parametric)方程,那个参数t(作为沿着射线方向偏离起点的距离)是很重要的。当决定下一点究竟是朝x方向,y方向还是z方向步进时,要看这条射线”最先打到哪个...
下面我们就来学习一下,消除浮点运算的 Bresenham’s 直线算法。 2.Bresenham’s 直线算法 2.1 初步实现 本节内容不会从一开始就讲完善版的 Bresenham’s 算法,我们先从一个小节开始推导,最后推导出完善的算法。 最一开始,我们先考虑所有直线里的一个子集,即斜率范围在 之间的直线: 。 上一小节里我们说过,对于...
2.Bresenham’s 直线算法 2.1 初步实现 本节内容不会从一开始就讲完善版的 Bresenham’s 算法,我们先从一个小节开始推导,最后推导出完善的算法。 最一开始,我们先考虑所有直线里的一个子集,即斜率范围在 之间的直线:。 上一小节里我们说过,对于屏幕绘制直线这个场景,理论上是连续的,但实际是离散的。我们先假设...