2011-04-07 75 views
0

即时尝试设置一个新的位图每2秒一个精灵。使用的代码需要一个GL10对象,但不能在onDraw()中完成,因为它太多地降低了帧率。我试着设置一个gl对象来等于在onSurfaceCreated()中传递的对象,但它不起作用。我怎样才能做到这一点?android opengl将位图设置为精灵

回答

1

分配所有的纹理onSurfaceCreated(),创建一个Texture对象(其中包含GL指针的纹理)与加载纹理(从OpenGL内存)分配给您的Texture对象的指针GL ID。

稍后,在onDrawFrame()中,将glBindTexture(GL10.GL_TEXTURE_2D, textureObjectId)更改为glBindTexture(GL10.GL_TEXTURE_2D, anotherTextureObjectId)

这是如何更改纹理,而无需在运行时使用简单的图像/精灵进行分配。