Iphone 在OpenGL ES应用程序中加载unicode字体
我希望使用freetype库在我的openGL ES应用程序中加载unicode字体。我最初考虑使用Arial Unicode MS,但它太大了,大约24MBIphone 在OpenGL ES应用程序中加载unicode字体,iphone,android,opengl-es,fonts,Iphone,Android,Opengl Es,Fonts,我希望使用freetype库在我的openGL ES应用程序中加载unicode字体。我最初考虑使用Arial Unicode MS,但它太大了,大约24MB 还有其他更小尺寸的unicode字体吗?我也知道其他一些unicode字体可能不够小,无法解决我的问题。有没有其他方法可以解决我的问题?我想你指的是纹理贴图字体。正如您已经想到的,完整的Unicode字体会占用相当多的空间。但是,更改字体不会产生任何影响,因为内存需求不取决于字体,而是取决于分辨率,渲染到纹理图集的轮廓乘以包含在该集中的轮
还有其他更小尺寸的unicode字体吗?我也知道其他一些unicode字体可能不够小,无法解决我的问题。有没有其他方法可以解决我的问题?我想你指的是纹理贴图字体。正如您已经想到的,完整的Unicode字体会占用相当多的空间。但是,更改字体不会产生任何影响,因为内存需求不取决于字体,而是取决于分辨率,渲染到纹理图集的轮廓乘以包含在该集中的轮廓数量 虽然纹理映射字体是字母表的一个可行选项,但只有有限的字形(拉丁语、西里尔语、希腊语、韩语、阿拉伯语),如果您想支持完全国际化,它会变得相当笨拙 有两个相当大的选择:
第三种方法是可能的,但到目前为止我从未亲自实现过:矢量纹理。实际上,您在片段着色器中实现了一个抗锯齿样条线光栅化器,并通过采样器提供样条线参数;这允许使用GPU加速呈现清晰的文本。不是直接的答案,因此只能作为注释。我之前所做的是使用位图字体来实现这一点。这允许我只包含游戏中文本所需的特定unicode字符。如果您有动态文本(即名称输入),这可能不合适。感谢datenwolf的详细解释。我赞赏这些建议。这是一个非常有趣的问题,我希望有有趣的解决办法。