我正在为我的下一个Android游戏编写一个OpenGL ES驱动的框架.目前我支持三种绘制精灵的不同技巧:
OpenGL ES 1.0支持顶点阵列,因此在每个Android设备中都支持.我猜大多数(如果不是全部)当前设备也支持VBO和draw_texture.
我不想猜测,而是想知道不同设备支持的扩展.如果大多数设备支持VBO,我可以简化我的代码并只关注VBO + draw_texture.
了解不同设备支持的内容会很有帮助,因此如果您有Android设备,请报告扩展名单.:)
String extensions = gl.glGetString(GL10.GL_EXTENSIONS);
Run Code Online (Sandbox Code Playgroud)
我有一个HTC Hero,所以我可以接下来分享这些扩展.
我正在使用Java和LWJGL制作OpenGL游戏.我编写了一个TextRenderer使用缓存的字形页面呈现文本的类.字形本身在Java2D中呈现为BufferedImages,并与字形测量一起打包到纹理页面中.TextRenderer使用缓存的信息将字符绘制为纹理四边形.
所有这一切都运作良好,除了一件事:缺少字距.当然,没有必要让文本看起来很好,但如果我可以访问字体字距信息,它会提高质量.
是否可以使用普通Java获取字距调整信息,以便可以跨Windows,Linux和MacOS X移植?回到我写的时候,TextRenderer我简单地环顾四周但却找不到这样的方式..
如果在纯Java中没有办法做到这一点,我正在考虑使用Freetype编写一个单独的工具.如其功能页面中所列:
FreeType 2提供了其他类似字体引擎通常无法提供的信息,如字距调整,字形名称,垂直度量等.
该工具会将常用字符的字距调整对存储到我的文本渲染器将加载并使用的文件中.所以如果你们没有提出更好的选择,这可能就是我要做的.:)