如何将设备相机视图作为背景应用到android中的opengl表面

时间:2014-04-16 04:04:53

标签: android opengl-es 3d camera

基本上我有一个使用open gl渲染的3D对象。但3D对象的背景应该是摄像机视图。这样3D对象将适合设备摄像头显示的摄像机视图。

目前我正在使用以下代码来实现它。

cameraView = new CameraView(this);
ViewGroup.LayoutParams generalLayoutParam = new ViewGroup.LayoutParams(
                        ViewGroup.LayoutParams.MATCH_PARENT,
                        ViewGroup.LayoutParams.MATCH_PARENT);

addContentView(mainscreen, generalLayoutParam);

_glSurfaceView = (GLSurfaceView) mainscreen.findViewById(R.id.surfaceviewclass);
_glSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
_glSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
_glSurfaceView.setRenderer(r);

但是这个代码的问题是,我需要捕获3D对象后面的3D对象和相机视图作为单个图像。我是通过获取这些视图的父级并获取该视图的绘图缓存来完成的。但是,相机视图会变成黑色区域。

有没有办法将cameraview嵌入到打开glsurfaceview或者正确拍摄屏幕截图的方法?

1 个答案:

答案 0 :(得分:0)

如果您可以将APP限制为API> = 11,则可以通过OpenGL轻松呈现use SurfaceTexture