快速改变GL平面的纹理

时间:2011-12-08 11:22:24

标签: android opengl-es android-ndk

我正在处理大型位图(5000x1440,认为是双重,三重监视器),它们有时不适合应用程序可用的内存(堆)(对于使用Java开发的部分也是如此)。 / p>

然而,Android中的本机代码能够分配设备上的可用内容(差不多)。问题是,人们无法轻易地将这些数据作为int[]或类似的内容访问Bitmap类。

我得到一些提示,一些OpenGL函数接受ByteBuffer参数,所以我制作了一个解决方案的原型,我将这个图像作为纹理应用于OpenGL平面。

免责声明:我是一名GL总裁,所以这可能是一个愚蠢的问题

我想快速更改纹理数据(因为我通过wifi获取图像)。如果我只是更改缓冲区内容,则没有任何反应。

如果我在每个draw加载纹理,该应用程序可以正常工作,但很快就会崩溃许多应用程序(我猜它会重载GL-ES或其他东西,而Launcher,Google应用程序等会死掉然后重启)。所以这显然不好。

那么,如何快速(经常)以有效的方式改变纹理?

0 个答案:

没有答案