OpenGL 文本渲染Text Rendering
OpenGL文本渲染Text Rendering
- 文本渲染Text Rendering簡(jiǎn)介
- 經(jīng)典文本渲染:位圖字體
- 現(xiàn)代文本渲染:FreeType
- 著色器
- 渲染一行文本
- 更進(jìn)一步
文本渲染Text Rendering簡(jiǎn)介
當(dāng)你在圖形計(jì)算領(lǐng)域冒險(xiǎn)到了一定階段以后你可能會(huì)想使用OpenGL來(lái)繪制文本。然而,可能與你想象的并不一樣,使用像OpenGL這樣的底層庫(kù)來(lái)把文本渲染到屏幕上并不是一件簡(jiǎn)單的事情。如果你只需要繪制128種不同的字符(Character),那么事情可能會(huì)簡(jiǎn)單一些。但是如果你要繪制的字符有著不同的寬、高和邊距,事情馬上就復(fù)雜了。根據(jù)你使用語(yǔ)言的不同,你可能會(huì)需要多于128個(gè)字符。再者,如果你要繪制音樂符、數(shù)學(xué)符號(hào)這些特殊的符號(hào);或者渲染豎排文本呢?一旦你把文本這些復(fù)雜的情況考慮進(jìn)來(lái),你就不會(huì)奇怪為什么OpenGL這樣的底層API沒有包含文本處理了。
由于OpenGL本身并沒有包含任何的文本處理能力,我們必須自己定義一套全新的系統(tǒng)讓OpenGL繪制文本到屏幕上。由于文本字符沒有圖元,我們必須要有點(diǎn)創(chuàng)造力才行。需要使用的一些技術(shù)可以是:通過GL_LINES來(lái)繪制字形,創(chuàng)建文本的3D網(wǎng)格(Mesh),或在3D環(huán)境中將字符紋理渲染到2D四邊形上。
開發(fā)者最常用的一種方式是將字符紋理繪制到四邊形上。繪制這些紋理四邊形本身其實(shí)并不是很復(fù)雜
總結(jié)
以上是生活随笔為你收集整理的OpenGL 文本渲染Text Rendering的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高姓120字字辈排行?
- 下一篇: OpenGL创建窗口