Android OpenGL ES draw_texture 带裁剪或 VBO?

发布于 2024-10-28 07:44:40 字数 368 浏览 6 评论 0原文

大家好,我正在重新设计我的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苦妄 2024-11-04 07:44:40

使用VBO或draw_texture会更快

使用 atlas 纹理绘制

请注意,他使用的是“平铺世界”,这解释了原因他正在使用这种技术。如果您不使用平铺世界,您可能应该使用draw_texture

听了克里斯·普鲁特(Chris Pruett)一段时间后,我发现draw_texture对于单个精灵来说无疑是最快的,但如果我裁剪图集,这仍然是真的吗?

并非总是如此。如果您使用包含许多精灵的大图集纹理,则 glTexParameteriv() 函数将过于昂贵。如果您只是使用较少数量的精灵,它可能会更快,这也取决于对 glTexParameteriv() 函数的调用次数。

would it be faster to use VBO's or draw_texture

Draw using atlas texture

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.

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?

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 the glTexParameteriv() function.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文