我尝试使用GLSurfaceView来呈现,并通过docs我设置格式:GLSurfaceView - 如何使半透明背景
getHolder().setFormat(PixelFormat.TRANSLUCENT);
的我用GLSurfaceView.Renderer,吸引在onDrawFrame:
GLES20.glClearColor(0, 0, 1, .5f);
GLES20.glClear(GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
但是,GLSurfaceView中的GL渲染不是半透明的,而是完全蓝色的。如果我忽略glClear调用,那么它是完全黑色的。
我该如何让GL渲染具有透明背景,以便将其与背后绘制的视图混合?
编辑:这里是我的GLSurfaceView:
class GLView extends GLSurfaceView{
MyRenderer r;
public GLView(Context ctx){
super(ctx);
setEGLContextClientVersion(2);
getHolder().setFormat(PixelFormat.TRANSLUCENT);
setEGLConfigChooser(8, 8, 8, 8, 16, 0);
r = new MyRenderer(getContext());
setRenderer(r);
}
}
为什么你没有奖励你的赏金? –
我不能授予我自己的答案,其他答案并不满足我。 –