我嘗試使用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);
}
}
爲什麼你沒有獎勵你的賞金? –
我不能授予我自己的答案,其他答案並不滿足我。 –