如何在 iOS 中的 OpenGL ES 上下文中绘制轮廓文本?
我正在尝试在 iOS 平台上的 OpenGL ES 上下文上绘制文本。我必须使用轮廓字体(TTF、OTF 或其他)绘制富文本,
我知道两个轮廓文本绘图库。
- CoreText
- FreeType
iOS CoreText
中有一个默认的文本框架。我知道如何使用它,但仅限于 CGContext。我应该怎么做才能在 OpenGL ES 上下文上绘图?我应该在 CoreGraphics 位图上绘制并将其复制到 OpenGL ES 吗?
我对 FreeType 没有任何经验。和CoreText类似吗?
在 OpenGL ES 上下文中绘制轮廓字体的推荐方法是什么?
注意:我的应用程序是软实时游戏。
I'm trying to draw text on OpenGL ES context on iOS platform. I have to draw rich-text with outline font (TTF, OTF or others)
I know two outline text drawing library.
- CoreText
- FreeType
There is a default text framework in iOS CoreText
. I know how to use it, but only for CGContext
. What should I do to draw on OpenGL ES context? Should I draw on CoreGraphics bitmap and copy it to OpenGL ES?
I have no experience about FreeType. Is it similar with CoreText?
What's the recommended way to draw outline font drawing on OpenGL ES context?
Note: My application is soft-realtime game.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有一些 Apple 示例代码使用 Quartz 2D,将良好的抗锯齿文本渲染到纹理。几年前,我在游戏中使用它来调试 HUD。性能不是很好,但如果您不必重新渲染每一帧,那么该方法应该可行。
抱歉,我记不起示例代码的确切细节。但是您需要创建一个位图上下文,对其进行渲染,然后将其设为纹理。 (这也应该适用于 CoreText。)
There's some Apple sample code that uses Quartz 2D, rendering nicely anti-aliased text to a texture. I used it for a debug HUD in a game a couple years ago. The performance wasn't great, but if you don't have to re-render every frame that approach should work.
Sorry I can't recall the exact details of the sample code. But you'd create a bitmap context, render to that, and then make it a texture. (This should work with CoreText too.)