安卓OpenGL图像处理 - 不使用SurfaceView

6
我希望使用OpenGL ES 2和着色器进行一些背景图像处理,但不需要绘制到表面(即仅在帧缓冲区中进行离屏渲染)。虽然我已经在iOS上完成了这个过程,但在Android上却遇到了困难。
我认为我已经接近创建一个可工作的OpenGL上下文,但还没有想出如何在没有SurfaceView的情况下实现。
1个回答

4
请查看这篇与游戏开发相关的文章(点击展开以查看完整的代码)。该代码创建了一个GL上下文,并使用GLSurfaceView.Renderer接口来适当地允许编写渲染器。在调用getBitmap()时,会调用渲染器来绘制一帧,然后将其读取并转换为位图。
请注意,还有一个精选问题可能也会引起您的兴趣。

这看起来非常有趣,谢谢! - CSmith
实际上,我感兴趣的是直接创建一个OpenGL ES 2.0上下文,避免使用GLSurfaceView和Renderer...虽然这并没有完全达到我的目的,但它确实让我创建了一个上下文,只是GLES20静态类不知道它。我支持使用NDK来进行离屏渲染... - CSmith
内部的类除了 Renderer 接口外与 GLSurfaceView 没有任何共享。您可以完全放弃 GLSurfaceView.Renderer 并自己做自己的事情。 - Stefan Hanke
@CSmith 你解决了这个问题吗?我也想做同样的事情。 - Christopher Perry
这个链接已经失效了。有人有备份吗?或者能否有人在这个帖子中总结一下内容? - Sarthak_ssg5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接