基本上我有一个使用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或者正确拍摄屏幕截图的方法?