如何制作透明的GLSurfaceView

时间:2018-10-23 07:32:50

标签: android opengl-es glsurfaceview

首先,我从OpenGL test project开始。然后,我向其中添加了CameraView,并在ModelActivity上像这样运行相机。

private final Runnable mLoadCamera = new Runnable()
{
    public void run()
    {
        startCamera();
    }
};

.......

private void startCamera()
{
    RelativeLayout rl = (RelativeLayout)findViewById(R.id.surface_camera);
    SurfaceView surfaceView = new SurfaceView(mContext);
    final SurfaceHolder mSurfaceHolder = surfaceView.getHolder();

    try
    {
        cameraView = new CameraView();
        mSurfaceHolder.addCallback(cameraView);
        mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
        Log.d("dddaaaaa", "Another exception");
    } catch(Exception e)
    {
        Log.d("debug", "Another exception");
        e.printStackTrace();
    }

    if(rl != null && surfaceView != null)
        rl.addView(surfaceView);
}

然后我使用GLSurfaceView将3D对象加载到了相机的顶部。
现在看起来像这样

现在,我希望紫色部分透明,并通过它看到摄像机视图。

我使用GLES20.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);进行了尝试。但是现在它是黑​​色的,而不是透明的。

我该如何解决?

0 个答案:

没有答案