상세 컨텐츠

본문 제목

안드로이드 android ndk 오픈지엘 OpenGL ES 그림을 배수로 맞추지 않는경우 화면이 하얗게 보이는 현상.

스마트기기개발관련/OpenGL (그래픽, 게임)

by AlrepondTech 2012. 11. 13. 15:39

본문

반응형

 

 

 

 

=================================

=================================

=================================

 

 

 

 

 

 

출처: http://gogorchg.tistory.com/entry/Android-Opengl-es-%ED%99%94%EB%A9%B4%EC%9D%B4-%ED%95%98%EC%96%97%EA%B2%8C-%EB%B3%B4%EC%9D%B4%EB%8A%94-%ED%98%84%EC%83%81

 Nexus S 이상 때부터 Opengl을 사용할 때, 
본래 Bitmap 이미지의 크기를 2의 배수로 지정해주지 않으면,
그 Object를 하얗게 뿌려버리더군요.

그래서 다음과 같은 함수를 만들어서 사용을 합니다.

 

 

private int getMinPowerByTwo(int value) {

 

 

 

       int result = 2;

 

       do {

result *= 2;

} while(result < value);

 

return result;

}

 

 위 함수는  계속 2씩 곱해 나가다가 value 값 보다 커졌을 경우,
그 값을 리턴 시켜주는 거지요.

즉, 500x168 이라는 이미지가 있을 경우에는
위 함수를 통하여 우선 

512 x256의 크기로 Bitmap을 리사이징

 하고
Texture에 저장을 시킨 후,
Texture 크기를 500x168로 맞추면 되는 거죠^^

 

width = getMinPowerByTwo(bmp.getWidth());

height = getMinPowerByTwo(bmp.getHeight());

 

Bitmap tmpBmp = Bitmap.createScaledBitmap(bmp, width, height, true);

 

 
먼가 부분적으로 설명을 하여 이해하기가 힘들실지도 모르지만,
분명 어느정도 기초가 쌓여가면서 예제 소스들 보시고
이걸 보시면 아하 ~ 하면서 이해를 금방 하실 수 있을겁니다.^^

그럼 오늘도 즐코딩요~ㅋ 

 

 

=================================

=================================

=================================

 

 

반응형


관련글 더보기

댓글 영역