我正在使用C#和XNA进行游戏,我试图想出一种方法来渲染大量的地形而不使用大量内存或将多边形限制硬编码传递给XNA。
到目前为止,我的解决方案是创建一个巨大的高度图,并且在初始化阶段游戏开始时将高度图加载到内存中。然后,仅在距离相机最近的地方生成地形。这是通过投影一个三角形来实现的,该三角形的顶点是字符,另外两个端点延伸到角色的查看区域的两侧。然后,高度图上该三角形内的所有像素都会被渲染并绘制到游戏中,从而只呈现所看到的内容。
问题是,我已成功找到(我认为,直到我得到地形渲染后才能测试)三角形的三个顶点。现在我需要找到该三角形内每个像素的坐标列表 - 仅限整数,因为我只需要一个像素列表来渲染。
我知道这听起来有点令人困惑,所以这就是它的要点:
我有一张图片,我在该图像上投影了一个三角形。我对这个三角形的唯一了解就是三个顶点。我需要一个三角形内的像素列表。
我现在一直在谷歌搜索大约20分钟,我认为我已经很好地继续在这里发布一些东西,因为我正在努力做的事情不是那么常见。如果我找到答案,我一定会在这里发布。
但在那之前,谁能告诉我如何做到这一点?
编辑:请提供一个公式。如果你能提供一个公式或算法和解释,那将是完美的。
编辑:我发布了一个新问题,因为我已经放弃了这种渲染大地形的方法。问题是here。
答案 0 :(得分:3)