我正在开发这个照片应用程序,它使用带有渲染器的 OpenGL 2.0、屏幕外 GLSurfaceView 和一些着色器脚本(*.fsh 和 *.vsh)。
在从 Assets 文件夹加载着色器脚本、准备 GL 表面和上下文等之后,我们最终调用GLES20.glDrawArrays(GLES20.GL_TRIANGLE_FAN, 0, 4);
它,它工作得非常好,它会生成带有效果的位图。
当然,问题在于内存限制和任何足够大的位图(无论设备如何,对于旧 Gingerbread 和 Nexus 10 的非常大的图像都不是那么大),它会产生 OutOfMemoryException。
我对 OpenGL 不是很了解,我知道处理大量数据的方法是使用流,因此没有必要将其全部保存在内存中。
所以问题是,有没有办法通过 Stream 而不是内存中的 Bitmap 应用 openGl 着色器/渲染器?如果是,任何指向链接或基本过程的指针?