当我离开周末时,我的代码处于工作状态,自从我回来后,我随机收到此错误。有时它运行,我的android项目工作,有时它没有。我目前正在研究NDK并试图让Freetype Lib工作。从阅读这个堆栈跟踪这里是我的“相关”代码:
<integer name="rotation">0</integer>
这是堆栈跟踪:
values
为什么它有时会失败?
编辑:通过日志记录,我发现它在ascii代码35的字符处失败。
Edit2:我不知道为什么,但它会随机卡在不同的角色上。有时甚至,它根本不会卡住,只会编译并运行......我甚至都不知道了。
答案 0 :(得分:0)
所以,对于任何可能发现这篇文章的人来说,连续几个小时都在网络上,我找到了答案。 Freetype未通过GL_RGB
对齐(至少不在我的项目中),而是通过GL_LUMINANCE
对齐。通过改变glTexImage2D
中的这些内容我解决了上述问题,以及一些时髦的图形错误。
TLDR;
glTexImage2D(
GL_TEXTURE_2D,
0,
GL_RGB, => GL_LUMINANCE
face->glyph->bitmap.width,
face->glyph->bitmap.rows,
0,
GL_RGB, => GL_LUMINANCE
GL_UNSIGNED_BYTE,
face->glyph->bitmap.buffer
);