一切都看起来很好,但我现在仍然停留在文本渲染中.我没有找到关于使用C在OpenGL ES 2.0中渲染文本(使用TTF或Bitmap字体)的任何详细教程.
我发现许多话题谈论在android或iphone上使用java或objective-c(用textview,surfaceview或某些blah blah的东西)渲染文本,但我不认为这是我需要的.我需要一个“跨平台解决方案”. (或者这可能是我错了吗?)
经过一番研究,我在脑海中有解决方案:
加载和绑定位图字体纹理 – >解析文本并生成并绑定顶点数组,使用uv数组映射纹理,… – >渲染到屏幕
我没有测试,但我认为使用我的解决方案是一个问题:当我想要更改文本(例如:我在做一个用户评分或屏幕上的计时器)我必须重新绑定顶点数组和uv数组,这不是一个好主意,对吧?
有没有更好的方式/正确的方式来绘制位图字体在屏幕上与OpenGL ES 2?
解决方法
这个休闲步骤需要一些时间,但肯定不会太多.
对于渲染文本,问题有两个主要部分:
>创建你的纹理地图集位图
>使用这个纹理绘制文本,考虑字体度量(大小,字距等)和可能的子像素抗锯齿
要创建纹理地图集,您可以找到一些代码(可能使用freetype)或使用现有工具(如AngleCode’s bmfont).
对于绘图,您可能希望根据一些现有的代码来推出自己的代码,因为有很多细节可以正确的阅读文字.要开始你的头痛,你可以看看this article.
一个很好的现代灵感来源可以是Nicolas Rougier’s freetype-gl的代码.
原文地址:https://www.jb51.cc/android/312469.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。