sum*_*ame 7 delphi opengl unicode winapi
我必须扩展一个OpenGL-Rendering系统来支持国际字符(特别是希伯来语,阿拉伯语和西里尔语).
开发平台是Windows(XP | Vista | 7),唉使用Embercardero Delphi 2010.
我目前使用wglOutLineFont(...)来构建我的字体的显示列表并glCallLists(length(m_Text), UNSIGNED_SHORT, PWchar(m_Text) )呈现我的字符串.
虽然这对于Latin-1字符是可行的,但事先构建完整的Unicode字符集非常耗时(在我的机器上大约8.5分钟),所以我正在寻找更有效的解决方案.我考虑过限制范围从u + 0020 - u + 077f(拉丁语,希腊语,西里尔语,阿拉伯语和希伯来语)到仅包括我需要的字形,但这只是我当前需求的解决方案,并且一旦变得不够需要其他编码.
从好的方面来说,我不必担心从左到右或从右到左的方向,因为我们的应用程序已经可以处理这个问题.
我希望这是一个众所周知的问题,所以我想问一下网上是否有任何参考资料,或者您是否可以分享一些有关此问题的见解?
编辑
澄清:我使用多边形字体表示.每个Font预先以单位大小(1.0)构造,并glScalef(...)在渲染之前使用适当缩放.我确实决定不进行预栅格化,因为用户可能会非常接近地放大(应用程序用于CAD),因此光栅工件将变得可见.
另外,由于场景很少超过几百个字符(主要是标签和测量),因此预光栅化的速度增益可以忽略不计.
不要预先构建显示列表:- 创建一个中间精灵,根据需要构建列表并缓存它们。尝试预先计算列表 - 或预先生成每种字体大小、字体和所有字符的光栅化纹理是不切实际的,特别是当您缩放到远东字符集时。
| 归档时间: |
|
| 查看次数: |
1505 次 |
| 最近记录: |