Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iPhone OpenGL ES中绘制文本_Iphone_Cocoa Touch_Opengl Es - Fatal编程技术网

如何在iPhone OpenGL ES中绘制文本

如何在iPhone OpenGL ES中绘制文本,iphone,cocoa-touch,opengl-es,Iphone,Cocoa Touch,Opengl Es,可能重复: 在opengl视图中绘制文本的简单方法是什么。我需要能够绘制任何/所有字符(即支持不只是英语)。苹果有一个关于如何为OpenGL(不是ES)实现这一点的示例,名为GLstring.m,它很简洁,但不能翻译成iPhone 并非所有人都只为美国人编写应用程序,即将所有字符加载到位图的技术不需要应用,我希望我的应用程序支持英语以外的语言。与您的应用程序非常相似,并且可能会提供一些提示。由于纹理大小的限制,这种方法在iPhone中效果不佳,纹理的高度和宽度必须是2的幂次方,因此很难将纹理挤

可能重复:

在opengl视图中绘制文本的简单方法是什么。我需要能够绘制任何/所有字符(即支持不只是英语)。苹果有一个关于如何为OpenGL(不是ES)实现这一点的示例,名为GLstring.m,它很简洁,但不能翻译成iPhone


并非所有人都只为美国人编写应用程序,即将所有字符加载到位图的技术不需要应用,我希望我的应用程序支持英语以外的语言。

与您的应用程序非常相似,并且可能会提供一些提示。

由于纹理大小的限制,这种方法在iPhone中效果不佳,纹理的高度和宽度必须是2的幂次方,因此很难将纹理挤压成正确的形状。如果没有内存或GPU纹理大小的限制,您可以将不规则大小的纹理的其余部分填充出来,只显示其中的一部分。您还可以按照一个答案建议的纹理图谱路线,根据需要从一个大纹理中显示每个角色。更大的纹理更容易变成两种大小的幂。你可以在这里看到Brad Larson的答案:()它似乎回避了你的纹理问题,直接解决了你的本地化支持问题。关于“纹理图谱”,问题是如果你只支持少数语言,即中文、日语、日语,韩国人,你已经需要支持50000个字符,所以你看一个10Mb的纹理,我不确定这是否可能?