最近开始在啃Game Programming Gem 8.里面有一些不错的文章,及时咀嚼及时反思 记录于此。
一直以为字体渲染是件简单的事 ,因为电脑上这么多字体显示么,但是今天看了这文章才知道3D技术里的字体渲染是两回事。平时win里面看到的文字这些基本都是通过GDI在cpu上运算绘制(或者也加入了显卡绘制)的,不过在3D游戏里面看到的字体包括GUI等则不是这个流程的,它们都跟其他图形的渲染一样,都是一些多边形,经过渲染管线在显卡上绘制的,跟多边形的渲染时一样的,甚至有时是一个比较耗的过程。
通常字体的渲染有两种方式:
1 是把turetype字头的每个字符图像(英文称glyph)编码为三角形集合,然后就想渲染三角形一样在屏幕上渲染,这通常会带来大量的渲染数据。
2 把所有的字符画在一张贴图上,然后在渲染的时候,每个字符就是一个正方形(俩三角形),然后编码每个找到合适的贴图坐标给这个正方形贴图