0

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

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

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

4

1 回答 1

0

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

所以基本上,一个上下文对象(GL10 glvar )在需要时被传递给渲染器(你的),你可以在那里检查你的最大纹理大小。

于 2013-05-22T05:32:02.867 回答