Android OpenGL ES draw_texture 带裁剪或 VBO?
大家好,我正在重新设计我的 Android 应用程序以使用 OpenGL 而不是画布(因为它非常慢),我想知道,因为我使用的是平铺表(图集纹理),所以使用 VBO 或 draw_texture 会更快吗裁剪设置如下:
// Crop our texture
((GL11) gl).glTexParameteriv(GL10.GL_TEXTURE_2D, GL11Ext.GL_TEXTURE_CROP_RECT_OES, cropRect[cropIndex], 0);
gl.glColor4f(1, 1, 1, 1);
听了克里斯·普鲁特一段时间后,我发现draw_texture对于单个精灵来说无疑是最快的,但如果我裁剪一个图集,这仍然是真的吗?
Hey all, i was re-working my android app to use OpenGL instead of canvas (as it is ungodly slow) and i was wondering, since i'm using a tile sheet (atlas texture) would it be faster to use VBO's or draw_texture with the crop set like so:
// Crop our texture
((GL11) gl).glTexParameteriv(GL10.GL_TEXTURE_2D, GL11Ext.GL_TEXTURE_CROP_RECT_OES, cropRect[cropIndex], 0);
gl.glColor4f(1, 1, 1, 1);
After listening a while to Chris Pruett I gathered that draw_texture is undoubtably the fastest for an individual sprite but if i am cropping an atlas is this still true?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请注意,他使用的是“平铺世界”,这解释了原因他正在使用这种技术。如果您不使用平铺世界,您可能应该使用
draw_texture
。并非总是如此。如果您使用包含许多精灵的大图集纹理,则
glTexParameteriv()
函数将过于昂贵。如果您只是使用较少数量的精灵,它可能会更快,这也取决于对glTexParameteriv()
函数的调用次数。Note that he is using a "tiled world" which explains why he is using this technique. If you're not using a tiled world you should probably go with
draw_texture
.Not always. If you're using a big atlas texture with many sprites the
glTexParameteriv()
function will be too expensive. If you're just using a lower amount of sprites it will probably be faster, which also depends on number of calls to theglTexParameteriv()
function.