码迷,mamicode.com
首页 > 其他好文 > 详细

三维引擎设计专题--文字的渲染

时间:2015-01-05 20:29:05      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

第一部分: 基础概念:

        1: 先想想文字在计算机内怎么表示, 经过前辈们的努力, 有两种表示方法, 一种是点阵字体, 即二维数组, 表示字体像素信息, 点阵字体缺点是很难进行缩放, 常见的格式有bdf,pcf,fnt,hbf. 另外一种是矢量字体, 一个文字通过数学曲线来描述, 字体渲染引擎解析这些矢量数据, 常见的格式有type1, treeType, freeType.

        2: 其次,字体在计算机内存储格式已经定义好了, 想想字体存储与解析这么基础的东西, 肯定已经成为操作系统的一部分了. 对, 操作系统已经内建支持treeType, 等字体渲染引擎了. 我们平时在输入一段文字, 渲染其实都是这些字体库做的.

        3:  那么, 想想三维渲染引擎里怎么支持字体渲染呢,  刚才不是说字体渲染都由字体库做了吗,  那么怎么和我们的渲染引擎结合呢,  好办, 我们可以把工作分为两步, 第一步让字体库绘制字体, 第二步, 把刚刚绘制好的字体, 当成纹理数据,给我们的渲染引擎, 这不久OK了吗.

       4: 文字样式与字体,  这两个东西要分清楚,   一个文字有颜色, 大小, 背景, 分辨率(像素大小,一般是16*16, 32*32), 对齐方式, 位置,  这些属于文字样式,风格.  另外一样是字体, 比如宋体, 隶书, 等这些都有对应的字体文件, 即文字的轮廓.  在渲染引擎里要对这两种属性进行封装,  而这些属性值往往都从配置文件信息中读取.

   

            好了, 概念和思路有了, 接下来该到具体的实现了. 

第二部分: 具体实现:   未完待续....




       

         

三维引擎设计专题--文字的渲染

标签:

原文地址:http://blog.csdn.net/zangle260/article/details/42427323

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!