游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4077|回复: 9

能否用Windows API函数在OpenGL里显示汉字?

[复制链接]

2

主题

8

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2006-6-6 06:41:00 | 显示全部楼层 |阅读模式
我试过用TextOut函数在跟渲染环境相关联的DC里显示汉字,但是好像只能直接写在前缓冲区,场景刷新的时候字闪得很厉害。不知道有没有办法写在后缓冲区里?

2

主题

8

帖子

14

积分

新手上路

Rank: 1

积分
14
 楼主| 发表于 2006-6-6 18:53:00 | 显示全部楼层

Re:能否用Windows API函数在OpenGL里显示汉字?

如果用Windows的函数不行的话,wglUseFontBitmaps怎么样?我现在可以用这个函数来显示ASCII字符,但是不知道怎么用来显示汉字。还是说,这个函数不能用来显示汉字?

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
发表于 2006-6-7 13:57:00 | 显示全部楼层

Re:能否用Windows API函数在OpenGL里显示汉字?

opengl中都是textout到纹理,然后显示

之所以用fontbitmap是为了提高处理效率

将fontbitmap改成动态生成的bitmap,先textout to texture,然后render~

2

主题

16

帖子

22

积分

注册会员

Rank: 2

积分
22
QQ
发表于 2006-6-7 23:08:00 | 显示全部楼层

Re:能否用Windows API函数在OpenGL里显示汉字?

直接用freetype吧

2

主题

8

帖子

14

积分

新手上路

Rank: 1

积分
14
 楼主| 发表于 2006-6-12 20:27:00 | 显示全部楼层

Re:能否用Windows API函数在OpenGL里显示汉字?

算是解决了。其实我觉得如果只是为了显示2D文字,用glDrawPixels可能更方便一点。

5

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2006-6-24 11:18:00 | 显示全部楼层

Re:能否用Windows API函数在OpenGL里显示汉字?

可以用wglUseFontBitmapsW显示汉字

16

主题

66

帖子

66

积分

注册会员

Rank: 2

积分
66
发表于 2006-7-1 16:04:00 | 显示全部楼层

Re:能否用Windows API函数在OpenGL里显示汉字?

哈哈,编程 —— 用函数堆积木。

18

主题

84

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2006-7-13 22:29:00 | 显示全部楼层

Re:能否用Windows API函数在OpenGL里显示汉字?

请问楼主 如果我要写三维的(运动)汉字 怎么做
用哪些函数实现?

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2006-7-13 23:42:00 | 显示全部楼层

Re:能否用Windows API函数在OpenGL里显示汉字?

freetype。刚在整这个。头大了。字一下就乱了。

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2006-7-13 23:52:00 | 显示全部楼层

Re: 能否用Windows API函数在OpenGL里显示汉字?

24pixel的simhei.tff。效果都不怎么样。simsun.tff 的16pixel就没法看了,windows的显示比较正常的额,正在想该怎么处理。

一般字符管理是,做个字符池,显示一个cache一个。把那些经常需要写的字。提取成纹理cache起来。这个池我现在是1024大,fps基本上就是绘制几个纹理,如果大小是2--也就是最多只有2个字符在内存中,fps立马就变成29了。
sf_2006713235226.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-24 23:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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