我想將字體字形圖像打包成單個紋理。位圖是每個像素單色1字節,我希望將它們全部打包到1個紋理上。我能夠計算所需的最小紋理大小,但我無法管理算法將它們全部打包在一起。包裝位圖
我目前有位圖存儲爲字符指針,我能夠得到每個的尺寸。
我想將字體字形圖像打包成單個紋理。位圖是每個像素單色1字節,我希望將它們全部打包到1個紋理上。我能夠計算所需的最小紋理大小,但我無法管理算法將它們全部打包在一起。包裝位圖
我目前有位圖存儲爲字符指針,我能夠得到每個的尺寸。
我不是在裝箱的專家,但這裏有一個簡單的算法,你可以嘗試。
這被稱爲Next-Fit Decreasing Height (NFDH)算法。互動演示可見here。
由於您的字形或多或少具有相同的高度,我認爲這種簡單的算法應該會給您帶來好的結果。
查看此survey更多算法。
謝謝,這似乎很有用。 – Wunkolo
簡易包裝算法可以在這裏找到:http://www.blackpawn.com/texts/lightmaps/
這就是所謂的「斷頭臺包」在尤卡Jylänki的論文「一千種方式來包裝斌」。
blackpawn.com上的僞代碼非常簡單。
類似的問題
是你的字形都是一樣的字體大小? –
「每個像素單色1字節」,你的意思是每個像素1 **位**? –
另外,「紋理」是什麼意思?你只是指一個大的圖像? –