我的 Android 应用程序需要显示一个全屏位图作为背景,然后使用 OpenGL ES(1.1. 或 2.0 - 尚未确定)显示一些动态 3D 图形。背景图片是同一应用程序中 WebView 组件的快照,因此它的尺寸已经完全适合屏幕。
我是 OpenGL 新手,但我知道显示位图的常规方法包括将其缩放为 POT 纹理 (glTexImage2D)、配置矩阵、为矩形创建一些顶点并使用 glDrawArrays 显示。当只需要以 1:1 的比例在屏幕上绘制位图时,似乎需要做很多额外的工作(将图像缩小到 POT 大小时会降低质量)。
“桌面” GL 具有 glDrawPixels(),它似乎完全可以满足这种情况的需要,但 GLES 中显然没有。有没有办法将像素复制到 GLES 中的屏幕缓冲区,绕过 3D 管道?或者有什么方法可以在常规 Android 手段绘制的“平面”背景之上绘制 OpenGL 图形?或者制作一个半透明的 GLView(有 RSTextureView 用于基于 Renderscript 的显示,但我找不到 GL 的等价物)?