游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2728|回复: 7

D3D显示文字的问题。

[复制链接]

6

主题

27

帖子

33

积分

注册会员

Rank: 2

积分
33
发表于 2007-2-1 00:40:00 | 显示全部楼层 |阅读模式
最近自己做了一个显示字体的类。
方法是先将文字写到Texture上然后Draw

但是像隶书这样的字体看起来很不好。边缘不够平滑。
我设置一个错误的顶点坐标并且打开线性过滤,虽然边缘平滑了。
但是文字的笔画又细得让人看不清文字了。哪位做过这方面的,给点思路。

6

主题

307

帖子

309

积分

中级会员

Rank: 3Rank: 3

积分
309
发表于 2007-2-1 12:33:00 | 显示全部楼层

Re:D3D显示文字的问题。

从GDI取像素的颜色作为纹理的Alpha的时候不要只用透明/非透明2个值,Alpha的值应该位数多些

我做的时候用的是A8格式的纹理,GDI画的的时候用32位色的白色,取任意一个通道的颜色作为Alpha

结果很完美

17

主题

258

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
发表于 2007-2-1 21:47:00 | 显示全部楼层

Re:D3D显示文字的问题。

一头雾水.......楼上能不能具体讲一下

21

主题

109

帖子

127

积分

注册会员

Rank: 2

积分
127
发表于 2007-2-1 22:47:00 | 显示全部楼层

Re:D3D显示文字的问题。

我想楼上的楼上的意思是,用GDI在黑底上画一个白色的字,然后取这个小图片的任意一个色彩通道例如红色通道,作为一个A8格式的纹理.

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2007-2-2 00:19:00 | 显示全部楼层

Re:D3D显示文字的问题。

微软自带的输出文字的类基本上就够用了,自己写效率提升是不明显的,我曾经写过带缓存矢量文字贴图的类,基本上做了太多工作也没有明显的性能提升,基本上是徒劳的

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2007-2-2 00:22:00 | 显示全部楼层

Re:D3D显示文字的问题。

这方面做了很多研究,包括中文点阵字和矢量字,3d空间文字公告牌,后来感觉意义并不大.

6

主题

27

帖子

33

积分

注册会员

Rank: 2

积分
33
 楼主| 发表于 2007-2-3 00:55:00 | 显示全部楼层

Re:D3D显示文字的问题。

我只是担心速度的问题。
MS虽然有ID3DXFont接口,但是不知道他在内部是怎么做的。
我自己手动写文字虽然慢但是也只有一次。
以后就直接Render了。
如果FPS是60那么一帧来写字 其他时间都直接贴上去就行了。

2楼的兄弟能否发个效果图看下。

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2007-2-3 16:28:00 | 显示全部楼层

Re:D3D显示文字的问题。

我现在用的是CEGUI的文字输出,能支持TTF字库,输出中文效果还不错.速度方面更没问题,OGRE都用它,不必怀疑性能问题,推荐使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-26 09:26

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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