我正在尝试将实时效果应用于相机预览并在多个视图中显示,我该怎么做?
(就像camera2一样)(快照)
如果左侧不涉及 ScrollView,我知道有 2 种方法可以在相机预览上显示实时效果。
- 使用GLSurfaceView和setRenderer。将 SurfaceTexture 绑定为 GLES 外部纹理,并使用 GLSL(OpenGL Shading Language)应用效果。
- 使用TextureView。它更复杂,因为需要设置 EGLContext/EGLSurface 并进行线程管理。
但是,我不知道如何使带有实时效果项的 ScrollView 覆盖 GLES 组合。
- 我应该选择 GLSurfaceView (用于性能)还是 TextureView (用于灵活)来实现 ScrollView?哪一个是更好的解决方案,为什么?
- 是否可以在多个视图之间共享一个 EGL 上下文/表面?如果是的话,有什么代码片段可以参考吗?
在谷歌搜索并阅读了不错的图形架构文章和Grafika项目之后,我仍然不知道......
也许我错过了一些重要的事情,有人指出我吗?提前致谢。