如何用 OpenGL 繪製漂亮的向量圖,比如 SVG 文字等,特別是 OpenGL 繪製文字?

時間 2021-05-11 19:31:09

1樓:「已登出」

既然要做2D向量渲染為什麼不直接用2D向量渲染庫呢low level:

Direct2D

OpenVG

high level:

Skia

Quartz2D

這種直接支援字元渲染

2樓:

字型渲染的過程就是根據字型的向量描述光柵化的過程,字型的適量描述一般就是點,線,曲線構成的乙個封閉的向量圖,然後光柵化填充這個區域,如果要gpu來做,這裡可以比cpu的快的地方是光柵化的過程依賴gpu的多邊形填充,所以這裡的優化重點就是構建向量多邊形的過程,如果構建了向量多邊形,那麼縮放旋轉光柵化都是gpu操作就很快了。

但是對於小字型,我認為gpu渲染並見得快,可能cpu渲染更快,對於大字型gpu的填充率快,應該比cpu快,但是遊戲一般對大字型需求很少。

3樓:魯小昂

KlayGE中的字型系統 - 龔敏敏 - 部落格園

嘗試用他的演算法復現了一下,字型設定大小是32*32個畫素,效果還是不錯的;

仔細看了一下答主的三種實現方式,我採用的方法是第一種,如果字型不大的話,邊緣虛化的程度不是很嚴重吧

4樓:

跨平台的基本都用 FreeType 吧,D3D 可以上 DirectWrite。

如果每種尺寸都要渲染出好看的字型,又要達到一定的效能,那是沒有辦法的,就算所有操作都塞給顯示卡也是不行的,所以需求精美字型的話讓 CPU 還是 GPU 來做都沒有什麼區別,而如果只要能看清字就可以,需要高速渲染高速縮放又不能有鋸齒,那 KlayGE 的方案可以借鑑一下。

而一般的文字顯示軟體基本是兩者結合,縮放過程用低效能方案,縮放完了再用高效能方案重新繪製一遍,所以縮放過程中會有模糊存在。

如何用OpenGL封裝乙個2D引擎?

張強 不知道題主為什麼要用OpenGL。做2D乙個畫點函式就夠了,如果能操作顯示矩陣就更好了,我覺得EGE Easy Graphic Engine 就很不錯,我就用它做了乙個2D引擎,推薦一下stophin Engine EGE 法蘭克斯雪諾 不知道lz究竟是想做遊戲還是做引擎 這個你要想清楚,因為...

如何用幾何畫板記錄繪製拋物線上一點的切線的過程

Ivan 知乎首答 隱私保護的必要性 一般如果資料沒有被隱私保護,使用者資訊等可能被竊取用來進行非法或非道德的行為 惡意推斷之類的 例如通過未被隱私保護的實時位置資料很容易推斷出乙個人的家庭住址和公司位址等。應用場景有很多,只要有兩個或以上組織參與的資料合併都需要考慮到資料隱私保護,有時組織內進行資...

如何用Python繪製銷售額(柱形圖)和增速(折線圖)的雙y軸圖?

楊航鋒 繪製出來倒不是很困難但要畫的好看還是很不容易的,這裡給出的方法僅簡要復現出題主的圖案,僅供參考!import numpy asnp import matplotlib.pyplot asplt from matplotlib.ticker import FuncFormatter from ...