检查Activity.onLoadResources()中的GL_MAX_TEXTURE_SIZE

时间:2011-03-14 20:42:52

标签: android opengl-es

我正在开发一款带有高清显卡的Android应用。我的HTC Desire HD加载我的大图形没有问题,但我的(较旧的)HTC Magic只显示白色纹理。我已经读过GL_MAX_TEXTURE_SIZE在旧设备和新设备上有所不同。当我尝试加载较小的纹理时,我的HTC Magic也能够加载纹理

我想检查我的Activity的onLoadResources()中的GL_MAX_TEXTURE_SIZE,以决定我将为我当前使用的设备加载哪个纹理。我想访问GL对象,这使我可以访问这些信息,但我找不到在onLoadResources()函数中获取此对象的方法。如何在应用程序的早期访问对象?

1 个答案:

答案 0 :(得分:2)

对我而言,似乎没有正确的方法来做到这一点。 GL实例是(并且应该)只能在Surface(EGL)上下文中访问。没有真正好的方法可以提前得到它。

我建议您在onSurfaceCreated方法中加载资源。

如果你不想阻止openGL绘图 - 在onSurfaceCreated获取纹理信息并在单独的线程中加载资源。