游戏开发论坛

 找回密码
 立即注册
搜索
楼主: xpertsoft

FreeType的教程代码. 使用GLUT.

[复制链接]

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
 楼主| 发表于 2006-9-29 01:59:00 | 显示全部楼层

Re:FreeType的教程代码. 使用GLUT.

FreeType2要渲染出好的字体其实也是可以的。 去看libXfont吧。xorg里的。

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2006-9-29 09:20:00 | 显示全部楼层

Re:FreeType的教程代码. 使用GLUT.

我有提供12x12的宋体点阵字库。

但使用ttf字库时还是使用FreeType2的,不说太小,渲染24x24点阵的simkai.ttf “楷体_GB2312”时,会发现比标准FreeType2的好很多。不是好很多,而是标准FreeType2的根本就只能用难看来形容。

不信你可以试一下。

8

主题

553

帖子

560

积分

高级会员

Rank: 4

积分
560
发表于 2006-10-5 12:34:00 | 显示全部楼层

Re: Re:FreeType的教程代码. 使用GLUT.

hyzboy: Re:FreeType的教程代码. 使用GLUT.

用emule吧!他自带的查找里输入“windows 2000 source code”,很容易就能下到了。

不过可以申明我用的不...

你是设计了一个filter吗?把思路说说看可以吗?

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2006-10-5 16:43:00 | 显示全部楼层

Re:FreeType的教程代码. 使用GLUT.

不是Filter,

FreeType2本身支持只输出轮廓数据。

可以根据这些轮廓数据来自行生成字符的点阵数据

但FreeType2自带的程序生成的小尺寸中文点阵数据,效果非常的不好看。关于这一点,各位自行使用FreeType2输出24x24的楷体(用win xp自带的simkai)即可知道。效果非常之差。

我们自己使用轮廓数据来自行生成点阵数据,而没有使用FreeType2自带的程序,效果要好很多。

27

主题

418

帖子

455

积分

中级会员

Rank: 3Rank: 3

积分
455
QQ
发表于 2006-10-6 19:36:00 | 显示全部楼层

Re: FreeType的教程代码. 使用GLUT.

还是我的方法比较好啊 [em10]

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
 楼主| 发表于 2006-10-6 21:18:00 | 显示全部楼层

Re:FreeType的教程代码. 使用GLUT.

wglUseXXXXX 不能跨平台。这点就可以坚决不考虑。
我现在采用的是渲染时的二次cache 。 就是GUI的窗口多大。我就准备一张多大的RTT。
GUI的xuiDialog类收到onRepaint的时候,就把文字渲染到RTT.。每次setText或者scroll滚动的时候都发一个onRepaint调用,这样比较简单。而且也够用。

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
 楼主| 发表于 2006-10-6 22:43:00 | 显示全部楼层

Re: FreeType的教程代码. 使用GLUT.

小字体。 simsun.ttc
使用了一个简单的shader
sf_200610622439.png

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
 楼主| 发表于 2006-10-6 22:46:00 | 显示全部楼层

Re: FreeType的教程代码. 使用GLUT.

文鼎PL简报宋 12pixel
这个字体是open source的。效果不是很好。
sf_2006106224558.png

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
 楼主| 发表于 2006-10-6 22:52:00 | 显示全部楼层

Re: FreeType的教程代码. 使用GLUT.

simkai . 这个看上去似乎也有点别扭。不过总体勉强可以接受了。
以上均使用了freetype反走样字体。
PS: 没改过ft2的代码。
shade 超级简单。如下。回头试试死狗给我的资料做个高级点的filter


uniform sampler2D baseMap;
varying vec2      Texcoord;

void main( void )
{
    vec4 color = texture2D( baseMap, Texcoord );
    color.x = color.y = color.z = 1.0;
    color.w *= 2.0;
    gl_FragColor = color;
}

sf_2006106225134.png

27

主题

418

帖子

455

积分

中级会员

Rank: 3Rank: 3

积分
455
QQ
发表于 2006-10-7 03:05:00 | 显示全部楼层

Re:FreeType的教程代码. 使用GLUT.

要跨平台解决小字体问题,好像只能自己实现文字的渲染了。
要不然,就针对各平台使用最优方法。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-20 14:19

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表