Android OpenGL ES->Translucent GLSurfaceView

来源:互联网 发布:围棋业余比赛知乎 编辑:程序博客网 时间:2024/05/23 13:04

本例介绍使用透明背景绘制OpenGL 图形。步骤如下:

1. 对于Activity使用透明主题

<activity android:name=”.graphics.TranslucentGLSurfaceViewActivity”
android:label=”Graphics/OpenGL ES/Translucent GLSurfaceView”
  android:theme=”@style/Theme.Translucent”
android:configChanges=”keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize”>
<intent-filter>
< action android:name=”android.intent.action.MAIN” />
<category android:name=”android.intent.category.SAMPLE_CODE” />
< /intent-filter>
< /activity>

2. 使用8888 (RGBA) 格式,Alpha通道是显示透明图形必需的。

// We want an 8888 pixel format because that's required for// a translucent window.// And we want a depth buffer.mGLSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);


3. 为GLSurfaceView指定Alpha通道

mGLSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);


4. 为绘制的图行背景为颜色(0,0,0,0)

gl.glClearColor(0,0,0,0);