【发布时间】:2012-03-21 11:57:14
【问题描述】:
我需要将一些像素着色器应用于位图(使用 OpenGL)并将结果发送到服务器。渲染应该在后台进行,所以我不能为此目的创建 GLSurfaceView。所以我的问题是:是否可以在不使用 GLSurfaceView 的情况下在 Android 上进行 OpenGL 渲染?喜欢直接渲染到位图、画布或某种缓冲区/数组?或者可以使用某种虚拟 GLSurfaceView?
【问题讨论】:
我需要将一些像素着色器应用于位图(使用 OpenGL)并将结果发送到服务器。渲染应该在后台进行,所以我不能为此目的创建 GLSurfaceView。所以我的问题是:是否可以在不使用 GLSurfaceView 的情况下在 Android 上进行 OpenGL 渲染?喜欢直接渲染到位图、画布或某种缓冲区/数组?或者可以使用某种虚拟 GLSurfaceView?
【问题讨论】:
This SO post 包含指向an anddev post 的链接。往下看,有人创建了一个PixelBuffer 类,它重用了GLSurfaceView.Renderer 接口,但除此之外,只有EGL。
【讨论】:
听起来您想渲染到帧缓冲区对象(即直接渲染到纹理)。这绝对是可能的。只需在此处或网络上搜索答案即可。我没有太努力就找到了这个。不过,我不确定您使用的是 GL ES 1.1 还是 2.0。
http://blog.shayanjaved.com/2011/05/13/android-opengl-es-2-0-render-to-texture/
SDK 中的 APIDemos 似乎也有 1.1 的示例
【讨论】: