OpenGL ES 最大纹理无法正常工作?
我正在学习使用 libgdx 在 Android 上开发游戏,libgdx 是一个使用 OpenGL ES 在 Android 中编程的框架,以及使用 LWJGL 在 Java 上进行桌面编程的框架。我正在测试的设备 (HTC Hero) 引用的最大纹理大小为 1024,最大堆栈深度为 2。但是,当我以此最大大小创建纹理时,它们不会加载,而是在纹理应显示的位置显示一个白色方块是。纹理之所以是这个大小,是因为它们是打包的精灵表,最好将它们保持在这个大小。至于堆栈深度,如果同时使用超过 1 个纹理,设备也会显示一个白色方块,因此 OpenGL ES 给出的最大值似乎比设备的实际性能高出一步。有人可以帮我吗?谢谢
I am learning to develop games with Android using libgdx, a framework for programming in Android using OpenGL ES and on desktop with Java using LWJGL. The device I am testing on (HTC Hero) quotes a maximum texture size of 1024 and a maximum stack depth of 2. However, when I create textures at this maximum size, they will not load, instead displaying a white square where the texture should be. The textures are this size because they are packed sprite sheets, and it is preferable to keep them at this size. With regards to the stack depth, the device will also show a white square if more than 1 texture is used simultaneously, so it seems as though the maximum values given by OpenGL ES are one step above that of the device's actual performance. Can anybody help me out? Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
实际上,libgdx 中有纹理的比例,例如纹理必须是 2 的指数。所以正如您所说,您正在使用精灵运行,请在 http://libgdx.googlecode.com/svn/trunk/tests/gdx-tests/src/com/badlogic/gdx/tests/。我希望它有效
Actually there are scales for texture in libgdx, like texture must be exponent of 2. so as you said you are running with sprites please go through once how to work with sprites in http://libgdx.googlecode.com/svn/trunk/tests/gdx-tests/src/com/badlogic/gdx/tests/. I hope it works
我发现这个问题很有价值,尽管它已经存在很久了。
在当前的设备中,1024x1024 几乎是安全的。但如果它对你的其中一个不起作用,那就降低一点。 1 或 4 次绘制调用不会对性能产生太大影响。
I find this question to be of value despite of its age.
In current devices going 1024x1024 is pretty much safe. But if it doesn't work on one of yours, go lower. 1 or 4 draw calls won't affect much performant wise.