二维矩形排样/Rectangle Packing
现在的确是没时间研究。先把项目的进度推进了。记录研究过程回过头有时间再看看
研究的起因在做图形引擎里的文字绘制功能,准备把字符纹理填充到一张、多张纹理,以减少drawcall。搜索了一番,发现事情并不简单,这个关于空间利用效率的算法有很多应用场所————计算机纹理打包,板材切割,集装箱打包货物等等。
简单的搜索了下,用中文基本没搜出啥有用的信息,用的关键字————矩形打包算法、排料算法
知网找了写有关的,比较新的论文看了下
中文基本确定只有知网里没看过的文章值得再看看,搜索引擎的不用浪费时间
英文搜索了下,关键字基本可以锁定在packing
、nesting
。先找了写有关的页面看了下
- David Colson, Exploring rectangle packing algorithms
这篇博文的作者的研究动机和我非常像,打包字符的纹理到同一张贴图中
英文的没怎么细看,随便搜搜看了下,有用的信息不少,可以花时间搜索细看
一步到胃
知名的C算法库stb/stb_rect_pack.h
,无私奉献的公共领域许可。
看了下介绍,效果不太好。不过现在只需要一个大概能用的就行。