[译]GLUT教程 - 笔划字体

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,'3');

 

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

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

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 - 我们想要知道字宽的字符

 

 

转载于:https://www.cnblogs.com/live41/p/3393752.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值