본문 바로가기

나의 플랫폼/안드로이드

[ Android Opengl es ] 두 Texture 이미지가 겹쳤을 때

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Opengl을 사용하여 두가지 이미지를 출력했을 때 항상 나오는 문제이다!!!

바로!

두 Texture 이미지가 겹쳤을 때, 사각형 형태의 검은 부분이 보여지는 현상이다.


위와 같이 검은 부분이 생긴다. 

예전에는 z좌표를 뒤로 당겨 같은 선 라인에 있지 않으면 문제가 되지 않는다고 생각했다.

하지만, 테스트를 해본 결과 이유는 단 하나였다.

gl.glEnable(GL10.GL_DEPTH_TEST); //Enables Depth Testing

gl.glDepthFunc(GL10.GL_LEQUAL); //The Type Of Depth Testing To Do

바로 이 Depth 속성을 Enable을 시키면 이미지가 겹칠 경우 위와 같은 문제가 발생한다.


따라서 만약 3D형태가 아닌  이미지로 갈 경우에는, 꼭!

gl.glDisable(GL10.GL_DEPTH_TEST);

위와 같이 설정 하길 바란다.

결과 화면은 문제 없이 잘 겹쳐 있다^^

그 다음 겹쳐지는 순서는~

먼저 그리느냐 나중에 그리느냐 이다.

먼저 bubble을 그린 후 , cross line을 그리면 위와 같은 결과가 나오고.

당연 그 반대이면 bubble이 위로 올라 간다.

참고하시길~ ㅎㅎㅎ


그럼 오늘도 즐 코딩 하세요^^