5

有谁知道如何在 iphone 上呈现字符串?它用于显示我的每秒帧数 =p

4

3 回答 3

5

OpenGL 中没有渲染文本的内置方法,但有两种或多或少常见的技术:使用几何图形(不太常见)或使用纹理映射(更常见)渲染字形。对于您的情况,纹理映射将非常简单:设置 CGBitmapContext 并使用 Quartz 渲染文本。然后使用 glTexSubImage2D 上传之前生成的纹理中的图像。

在 iPhone 上,你也可以在你的 OpenGL 视图上放一个 UILabel,然后让 UIKit 进行渲染。在我的应用程序中,这根本没有影响性能(尽管 Apple 声称它确实如此)。

于 2009-07-27T15:02:35.933 回答
3

您可以使用 Texture2D 和 initWithString 方法在 OpenGL 中绘制文本。请参阅 iphone sdk 中包含的崩溃着陆示例。

您还可以使用 UILabel 并将其放在 opengl 层的顶部。

于 2009-07-27T15:06:38.563 回答
3

如前所述,Texture2D 是个好主意,但是苹果很多地方都去掉了 Crash Landing,你可以做的是下载 Cocos2d ,然后提取那里提供的 Texture2D 类(它是苹果提供的同一个类,但还有更多的东西) Cocos 2D for iPhone

于 2009-07-27T18:58:29.363 回答