I still haven't found a proper way to show an opengl overlay oon top of camera preview,
There's a hack, where you call
setContentView(GLSurfaceView)
addContentView(MyCameraSurfaceView)
but it doesn't work properly - i.e. when you switch to anouther activity and go back, the opengl layer isnt displayed over camera preview.
there are a lot of tutorials and samples which use the above method, but it simply doesn't work as expected
does anyone know how they do it in layar
It looks like I've found the solution to my problem - its setZOrderMediaOverlay
function, heres my code:
private void initViews()
{
mFrame = new FrameLayout(this);
initCameraView();
initGLView();
setContentView( mFrame );
}
private void initGLView()
{
mRenderer = new MyGLRenderer( this );
mGLView = new GLSurfaceView(this);
mGLView.setZOrderMediaOverlay(true);
mGLView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
mGLView.setRenderer(mRenderer);
mGLView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
mFrame.addView( mGLView );
}
private void initCameraView()
{
mCameraSurfaceView = new CameraSurfaceView(this);
mFrame.addView(mCameraSurfaceView);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With