使用原生c ++在没有第三方的情况下在android中显示文本

时间:2017-05-09 07:28:24

标签: android android-ndk

我正在寻找显示没有第三方库(例如freetype)的文本以在Android上以原生c ++显示文本的可能性。 (顺便说一句......我不是Shader专家)

1 个答案:

答案 0 :(得分:1)

假设您使用的是OpenGL ES 2或更高版本,则需要编写一个非常基本的着色器。即使它只是读取纹理。在Github上应该有足够的样本来找到基本的东西。或者结账Shadertoy.com。

你想要的是一个Bitmap字体。尝试像这样的字体生成器,读入字体描述符,将图像平面设置为纹理,并通过抓取源代码来绘制字符串。 http://www.angelcode.com/products/bmfont/

LibGDX也有一个字体生成器,即使它是用Java编写的,着色器也嵌入在代码中进行渲染。

即使您确实使用了freetype或stb_truetype,您仍然只能获得图像平面和字符描述符(字形源rects)。你仍然需要做很多字体渲染。

检查stb_trutype是否有一些基本的例子,我认为它们非常小,只要编写着色器并将字符串组合成几何体。