출처: http://liveupdate.tistory.com/109
관련소스 : APIDemos/src/com.example.android.apis.graphics/TranslucentGLSurfaceViewActivity.java
GLSurfaceView는 기본 값이 알파채널이 적용되지 않아서,
glClearColor( 0,0,0,0 ); 으로 해도 투명값이 설정되지 않는다.
EGL을 통해 SurfaceView를 핸들링하므로, 뷰 생성후 EGL, SurfaceView관련 설정만 하면 알파값을 사용할 수 있다.
GLSurfaceView myView = new GLSurfaceView(this);
// 픽셀포맷을 32비트포맷(8,8,8,8)으로 변경한다. myView.setEGLConfigChooser( 8, 8, 8, 8, 16, 0);
// 렌더러 설정 myView.setRenderer( new MyRenderer() );
// 서비스포맷을 설정한다. myView.getHolder().setFormat( PixelFormat.TRANSLUCENT ); |
이처럼 간단히 픽셀포맷만 변경하면된다.
이후 렌더러에서 glClearColor( 0, 0,0,0 ); 하면 배경은 투명으로 처리됨을 확인할 수 있다.
'IT_Programming > Android_Java' 카테고리의 다른 글
[펌] 안드로이드 오픈지엘(OpenGL ES2.0)의 기본 (0) | 2015.09.08 |
---|---|
[펌] GLSurfaceView 소개 (0) | 2015.09.08 |
[펌] 실질적인 안드로이드 디자인 (0) | 2015.08.24 |
[펌] Android Design Support Library를 소개합니다 (0) | 2015.08.19 |
Android adb shell 명령어 모음 (0) | 2015.08.18 |