如何检索 2D 三角形中所有线的扫描线?
我正在尝试实现 2D 软件渲染器的最基本功能,即纹理映射三角形。我使用 OpenGL 完成此操作的次数多得数不过来,但当我尝试自己完成此操作时,我发现自己一瘸一拐。
我看到很多文章说,为了填充一个三角形(其三个顶点的纹理坐标均固定为 [0, 1]),我需要在三个点之间进行线性插值。什么?我认为插值是在两个 n 维值之间进行的。
注意;这不适用于 3D,它是严格的 2D,所有三角形都是任意的(不以任何方式轴对齐)。我只需要像 OpenGL 那样用它们的纹理填充屏幕。我无法使用 OpenGL 作为解决方案。
最佳答案
可以在这里找到一个很好的答案和描述:http://sol.gfxile.net/tri/index.html
您可以使用Bresenham algorithm绘制/找到边。
关于math - 获取任意二维三角形的扫描线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8848179/