Lighthouse3d.com >> GLUT Tutorial >> Fonts >> Stroke Fonts

笔划字体是用线条生成的.跟位图字体相反,笔划字体看上去像三维对,例如,字体可以旋转,测量和转化.

本节我们将会使用GLUT函数来生成一些笔划字体到屏幕.基础函数是glutStrokeCharacter.原型如下:

void glutStrokeCharacter(void *font, int character)

font - 用到的字体的名字

character - 要渲染的字母,符号,数字等..

字体的可选常量值有:

GLUT_STROKE_ROMAN

GLUT_STROKE_MONO_ROMAN (fixed width font: 104.76 units wide).

下面文本演示了如何调用glutStrokeCharacter函数来输出单个字符到当前本地坐标:

glutStrokeCharacter(GLUT_STROKE_ROMAN,'');

跟位图字体相反,笔划字体的渲染定位的声明方式跟原始图片一样,例如用转化,旋转和测量.

下面函数在本地世界坐标中从指定位置开始渲染一串字符串:

void renderStrokeFontString(
float x,
float y,
float z,
void *font,
char *string) { char *c;
glPushMatrix();
glTranslatef(x, y,z); for (c=string; *c != '\0'; c++) {
glutStrokeCharacter(font, *c);
} glPopMatrix();
}

注意: GLUT是用线条来绘制笔划字体的,因此我们要用glLineWidth函数来指定线条的宽度.该函数用了浮点型来指定宽度.

和位图字体一样,GLUT提供一个函数来返回字宽.glutStrokeWidth函数的原型如下:

int glutStrokeWidth(void *font, int character);

font -  GLUT中预定义的字体之一

character - 我们想要知道字宽的字符

最新文章

  1. Logcat使用总结
  2. Asp.net 解决下载乱码问题,支持火狐、IE、谷歌等主流浏览器
  3. Editbox之三个框框
  4. 基于TCP协议的socket通信
  5. iOS 动画
  6. ASP.NET Razor - C# 循环和数组
  7. Linux驱动学习之什么是驱动?
  8. Python基础11- 函数之自定义函数
  9. Eclipse中使用Git-让版本管理更简单
  10. OSI(Open System Interconnection)网络模型
  11. C++:运算符重载函数之"++"、"--"、"[ ]"、"=="的应用
  12. CDOJ 1251 谕神的密码 贪心
  13. jquery实现2级联动
  14. Redundant Call to Object.ToString()
  15. NFC的安全性
  16. HTTP协议头部与Keep-Alive模式详解
  17. JWT实现用户权限认证
  18. LSTMs 长短期记忆网络系列
  19. python程序正式开始
  20. Mysql mysqld_safe启动与myslqd启动坑

热门文章

  1. (转)Limboy:自学 iOS 开发的一些经验
  2. Python中的*args和**kwargs的理解与用法
  3. [转载]Install Opera 12.16 Web Browser in CentOS/RHEL and Fedora
  4. 如何在阿里云服务器搭建FTP服务器,在本地电脑连接并操作
  5. 2017.4.18 静态代码分析工具sonarqube+sonar-runner的安装配置及使用
  6. Protractor(angular定制的e2e)的简易入门
  7. 简易选项卡&&简易JS年历
  8. Linux 常见安全检查方法
  9. selenium从入门到应用 - 6,EventFiringWebDriver和监听器
  10. jenkins调用shell脚本 输出带颜色字体