Android 如何找到不同手机的最大纹理大小?

Android 如何找到不同手机的最大纹理大小?,android,opengl-es,textures,renderer,Android,Opengl Es,Textures,Renderer,我正试图找出原始摩托罗拉Droid的最大纹理大小。我相信G1的最大纹理大小为512,但如果我能找到一种更正式的方法来建立一个合适的瓷砖系统,那就太好了。您可以使用glGetIntegerv请求最大纹理大小: int[] maxTextureSize = new int[1]; gl.glGetIntegerv(GL10.GL_MAX_TEXTURE_SIZE, maxTextureSize, 0); Log.i("glinfo", "Max texture size = " + maxTextu

我正试图找出原始摩托罗拉Droid的最大纹理大小。我相信G1的最大纹理大小为512,但如果我能找到一种更正式的方法来建立一个合适的瓷砖系统,那就太好了。

您可以使用glGetIntegerv请求最大纹理大小:

int[] maxTextureSize = new int[1];
gl.glGetIntegerv(GL10.GL_MAX_TEXTURE_SIZE, maxTextureSize, 0);
Log.i("glinfo", "Max texture size = " + maxTextureSize[0]);

还可以查看-它有一个广泛的OpenGL环境数据库和移动设备的性能详细信息

什么是gl?GLES10?我试图在我的活动的恢复中运行它,它返回0…您应该参考Android的OpenGL ES实现(
Android.OpenGL.GLES10
);将第二行替换为:
GLES10.glGetIntegerv(GLES10.GL_MAX_TEXTURE_SIZE,glInt,0)这是一个动态更改的值?请注意,如果不存在OpenGL上下文,则该方法返回0。将android:hardwareAccelerated=“true”添加到清单中的应用程序标记可能会有所帮助,但我注意到这并不能保证。这里[1]是一个广泛的答案,它在调用此方法之前创建了OpenGL上下文。[1] :也总是为我返回0。