Roy*_*Roy 3 c++ opengl unicode sdl
我有一个游戏,要求我允许玩家通过网络互相聊天.一切都很好,除了玩家可以键入Unicode输入的部分.
所以,这个问题可以分为两部分:
玩家输入时,如何捕获输入?我之前通过游戏输入处理(轮询)完成了这项工作,但是,它不像Windows Forms那样响应.
将输入捕获到字符串后,如何使用TrueType字体输出?我问这个的原因是因为通常,我会在游戏开始时使用游戏中使用的所有文本构建位图字体.但是使用unicode输入,需要将近10k个字符,这在游戏开始时是不可能的.
PS我的目标输入语言更具体针对中文,韩文和日文.
输入
unicode成员 获取unicode用于渲染
如果所需的字体大小相当小,例如16px,你实际上可以将它全部渲染到单个纹理,你可以在1024x1024纹理上适合该大小的最小4096个字形,当你紧紧包装它们时多一点(参见fontgen)例如代码).这应该足以进行常见聊天,但不足以适应TTF文件的所有字形.
如果你不想使用更大的纹理大小,你必须按需生成字体,这样做只需像往常一样创建纹理,然后使用glTexSubImage2D将新的字形上传到纹理.
另一种选择是不使用纹理来表示字形,而是使用文本本身.这样你就可以绕过字形生成产生的所有麻烦.但对于非静态可编辑文本,它可能不是一个好主意.
| 归档时间: |
|
| 查看次数: |
2654 次 |
| 最近记录: |