GLSurfaceView 배경 투명하게 만들기
관련소스 : 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 ); 하면 배경은 투명으로 처리됨을 확인할 수 있다.
'프로그래밍 > Android' 카테고리의 다른 글
Assets 폴더의 이미지 읽기 (0) | 2012.03.15 |
---|---|
JSON (0) | 2012.01.31 |
HTTP POST/GET 몇가지 정리 (0) | 2012.01.30 |
OpenGL es 조명 (0) | 2011.12.07 |
API demos openGL es 2.0 (0) | 2011.11.21 |
최상위 뷰 만들기 (0) | 2011.10.27 |
OpenGL 프레임버퍼 사용 (0) | 2011.10.27 |
ADB tcp/usb 연결설정 (0) | 2011.10.26 |
sdk3.0 fragment를 하위버전에서 사용하기 (0) | 2011.10.19 |
SurfaceView/GLSurfaceView (0) | 2011.10.11 |