본문 바로가기

프로그래밍/Android

GLSurfaceView 배경 투명하게

 

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