如何将 OpenGL 对象添加到 SurfaceView 相机中?
Posted
技术标签:
【中文标题】如何将 OpenGL 对象添加到 SurfaceView 相机中?【英文标题】:How to add a OpenGl object into a surfaceView camera? 【发布时间】:2015-08-17 14:21:58 【问题描述】:我不确定如何将 OpenGl 制作的对象实现到相机的 surfaceView 中。是否可以将 OpenGl 对象设置为使用 SurfaceView 的自定义 android 相机。 ?
【问题讨论】:
【参考方案1】:没有。
SurfaceView 的 Surface 具有生产者-消费者关系。在这种情况下,生产者是Camera,消费者是系统合成器(surfaceflinger)。要使用 OpenGL ES 在 Surface 上绘图,您需要将 OpenGL 附加为生产者,并且一个 Surface 不能同时有两个生产者。
您可以做的是创建第二个 SurfaceView,并调用 setZOrderMediaOverlay()
将其置于相机驱动的 Surface 之上但在 UI 之下,然后使用 GLES 在其上进行渲染。有关重叠 SurfaceView 的演示,请参阅 Grafika's“多表面测试”。
【讨论】:
以上是关于如何将 OpenGL 对象添加到 SurfaceView 相机中?的主要内容,如果未能解决你的问题,请参考以下文章