如何为android opengl 1.0应用程序过滤最大纹理宽度的手机

如何为android opengl 1.0应用程序过滤最大纹理宽度的手机,android,opengl-es,filtering,textures,Android,Opengl Es,Filtering,Textures,我已经在android中创建了一个openGL应用程序,它有一些不同大小的纹理(10241024和20482048),我选择了2048,因为galaxy s3支持这些纹理。我想知道是否有一种方法可以过滤哪些手机可以在max_texture_width上看到我的应用程序。我已经查看了一些参考资料 e、 g。 并且找不到任何帮助,我可以看到许多以编程方式执行此操作的方法,例如: 但是,由于我的纹理较小,为1204x1024,一些图形卡会在这一点上崩溃,我不希望我的应用程序能够走那么远。有人对如

我已经在android中创建了一个openGL应用程序,它有一些不同大小的纹理(10241024和20482048),我选择了2048,因为galaxy s3支持这些纹理。我想知道是否有一种方法可以过滤哪些手机可以在max_texture_width上看到我的应用程序。我已经查看了一些参考资料

e、 g。

并且找不到任何帮助,我可以看到许多以编程方式执行此操作的方法,例如:

但是,由于我的纹理较小,为1204x1024,一些图形卡会在这一点上崩溃,我不希望我的应用程序能够走那么远。有人对如何解决这个问题有什么建议吗?如果我要创建一个更小的纹理大小512x512,我将需要一个额外的算法,由于其他原因,我(可能)无法在时间限制内编写该算法。
谢谢

您不能通过在清单中声明支持的最大纹理大小来过滤应用程序,只能使用支持的纹理格式。
或者,你可以在Google Play上按设备过滤你的应用程序,但是有太多的设备需要你检查兼容性。

还有其他选择吗?如果我的应用程序尝试加载1024x1024纹理,我该如何处理?实际上,1024x1024对于任何GPU来说都不算多,但4096x4096在某些设备上可能无法工作。您确实应该为
GL\u MAX\u TEXTURE\u SIZE
添加检入代码,并在必要时使用向下采样的纹理。此外,加载大量大纹理(尤其是mip贴图)可能会导致GL错误1285-内存不足。你可能也想为这种情况添加检查。好吧,酷,那么我可以假设我的最小纹理大小可以是1024x1024(这是我较大纹理的缩小版本),并通过编程检查Opengl是否可以渲染它。我是否应该为512x512添加一个进一步缩小的版本?如何在不将其加载到内存的情况下实现这一点?如果我尝试加载我的1024x 1024纹理,然后减小大小,它不会崩溃吗?或者有没有不同的方法?啊,所以我读了一点,我想先用位图工厂按照:加载一个较小的位图,然后将其绑定到openGL吗?是的,您提到的文章是Android中减少位图采样的最有效方法。