KlayGE中的字型

2021-08-23 11:18:14 字數 1063 閱讀 2698

官方文件參見:

這裡只是一些測試

看了龔敏敏寫的文件, 覺得這種方式很意思, 就拿來玩玩.

因為中文字型的渲染在3d程式中確實是個問題, 尤其是字型大小不固定時, 放縮會出現走樣.

klayge的方法是一種用位圖模擬向量圖的方案, 把計算過程放在字型生成時, 而執行時的繪製相對常規方法來說消耗很小.

kfontgen目前好像有問題, 生成過程中會由於超出32位所能定址的最大記憶體而報錯退出. 原先我以為2g記憶體不夠用, 換自己的4g記憶體機器也不行. 難道生成時要用64位機? 看來這個生成工具需要修正一下記憶體的佔用率.

在debug模式下, 字數很多時, 幀率會急劇下降, 用perfhud看了一下曲線圖, 是cpu瓶頸, 可能是因為klayge中大量使用的boost在debug模式下的速度變成牛一樣吧?

release下就好多了:

字型的繪製只有一次dp:

字型繪製時使用的紋理buffer, 從這裡我們可以看到distance field的乙個比較直觀的儲存格式:

對比一下id3dxfont的效率(nebula3中debug text的繪製方式):

KlayGE中的FXAA已經完成

昨天收到了小順提交的fxaa和taa 現在已經整合進klayge。目前實現的fxaa是在顏色上檢測邊緣的,效果較好,但運算量也上去了。啥都不說,上圖!沒有經過抗鋸齒的場景 經過fxaa抗鋸齒過的場景 對區域性細節做乙個放大比較 區域性比較 邊緣的情況如下,因為是基於顏色的邊緣,所以需要aa的畫素較多...

KlayGE中的延遲渲染(二)

在klayge中的延遲渲染 一 裡,我們推出了lighting pass裡的計算,本篇將講解g buffer階段和shading pass階段。從公式可以看出,在light pass裡需要的量有n,h,alpha,cspec,lc。因為h n lc 2 見遊戲中基於物理的渲染系列文章 而lc nor...

Visio中的字型對應Word中字型字型大小

最近在使用visio做流程圖時,發現其中的字型大小與word不一樣。visio中的字型大小使用pt表示。pt是字型單位。全稱為point,中文為 點 常見於軟體設計 排版印刷行業。在常規的排版中,字型大小以 點 來單位。活字的大小稱為 字型大小 而字母的寬度稱作 字寬 1點 0.376公釐 1.07...