我如何压缩高度图?

时间:2013-01-20 07:27:49

标签: compression heightmap

我一直在玩简单的地形生成(钻石方形算法),我开始思考我能做多大的事情。

如果我想要生成一个大陆,那么1000 by 1000 km方块就足够了,但如果我还想要高分辨率,它会很快导致文件大小变大。 1000 by 1000 km = 1百万平方公里,如果我为每米存储一个点,那么每平方公里就是一百万平方米。

如果我使用无符号短裤(最大海拔10,000米)并且我的数学运算正确,那就是2TB的数据。当然我无法将它全部存储在RAM中,但即使每天硬盘空间越来越便宜,2TB高度图也不实用。

我开始考虑压缩数据,但我以前从未做过压缩,也不知道我可以将它缩小到多远,如果它从2变为1.9 TB,它就不会值得。哪种压缩方法最有效,而不会丢失数据?

我愿意减小高度图的大小和分辨率,但我想让它尽可能大。

1 个答案:

答案 0 :(得分:0)

您可以做的事情很大程度上取决于您的需求。如果您不需要所有的几何数据并且可以节省大量的CPU时间,那么随机种子的几个字节就足以可靠地重新生成完整的地形。您也可以继续将您的大陆划分为补丁并为每个补丁存储种子。通过这种方式,您可以可靠地重建大陆的较小位,而无需在每次只需要一小部分几何体时花费创建整个大陆的费用。