列出三角形内像素的坐标

本文关键字:坐标 内像素 三角形 | 更新日期: 2023-09-27 18:06:17

我正在用c#和XNA制作一款游戏,我试图想出一种方法来渲染大量地形,而不使用大量内存或将多边形限制硬编码到XNA。

到目前为止,我的解决方案是创建一个巨大的高度图,并且该高度图在游戏开始的初始化阶段加载到内存中。然后,地形只在离相机最近的地方生成。这是通过投射一个三角形来实现的,这个三角形的顶点是角色,另外两个端点延伸到角色观看区域的两侧。然后,高度图中三角形内的所有像素被渲染并绘制到游戏中,因此只渲染所看到的内容。

问题是,我已经成功地找到(我认为,不能测试,直到我得到地形渲染)三角形的三个顶点。现在我需要为三角形内的每个像素找到一个坐标列表——只能是整数,因为我只需要一个像素列表来渲染。

我知道这听起来有点令人困惑,所以这里是它的要点:

我有一个图像,我将一个三角形投影到该图像上。我只知道三角形的三个顶点。我需要一个三角形内像素的列表

我已经在谷歌上搜索了大约20分钟,我想我还是继续在这里发布一些东西吧,因为我想做的事情并不那么常见。如果我找到了答案,我一定会贴在这里的。

但在那之前,谁能告诉我如何完成这个?

编辑:请给我一个公式。如果你能提供一个公式或算法,以及一个解释,那就太好了。

编辑:我已经发布了一个新的问题,因为我已经放弃了这种渲染大型地形的方法。问题在这里

列出三角形内像素的坐标

从这里开始:

http://mathworld.wolfram.com/TriangleInterior.html

有一个重要的问题,这里没有提到,你必须处理的是沿边界的像素化。