如何检测位图是否对纹理来说太大

时间:2013-05-22 01:49:27

标签: android opengl-es

所以我做了很多环顾四周,答案似乎是使用:

 int[] maxSize = new int[1];
 gl.glGetIntegerv(GL10.GL_MAX_TEXTURE_SIZE, maxSize, 0);

检测纹理的大小,现在我的问题是如何创建或访问保存我需要的函数的gl var?它已经存在吗?我想支持Android 2.2及更高版本,所以4.0+新技巧不会起作用。如果这是一个重复的问题,请在评论中指出我正确的方向,我将采取行动。似乎无法找到一个很好的解释,如何在任何地方正确设置它,只是那两行代码。

1 个答案:

答案 0 :(得分:0)

如果你看看如何制作OpenGL应用程序,你会注意到主应用程序线程(主要活动)和渲染器类(http://developer.android.com/guide/topics/graphics/opengl.html)。如果方法public void onDrawFrame(GL10 gl) ,渲染器类的核心,当框架需要重绘时由android基础结构调用。

基本上,上下文对象(GL10 gl var)会在需要时传递给渲染器(你的),并且你可以检查你的最大纹理大小。