基本上我在XY平面上有一个六边形网格,我在其上绘制一个伪随机生成的景观。
然后决定哪个脸是水和哪个陆地,我检查每个脸的白色像素。如果白色像素>黑色像素,它是土地,否则是水。
我现在这样做的方法是在屏幕外渲染缓冲区,然后对画布上的每个像素进行光线投射以了解像素属于哪个面,然后总结每个面的所有像素。
问题是......画布是1000x700像素,它需要AGES到700,000像素的光线投射。
所以问题是......有没有更快/更简单的方法来了解哪个面位于画布上的任意(x,y)像素,而不必将整个网格光线投射到死亡。
答案 0 :(得分:0)
我发现了另一种解决方案,其执行速度更快,1000x700视口的速度为10-15秒,而不是7分钟。
我渲染到屏幕外缓冲区,然后我在屏幕坐标中计算每个面的中心。然后我只运行一个简单的泛洪填充算法,其中黄色线框像素是从每个面中心开始的边界。这样我就可以解释每张脸上的每个像素。