2011.06.01 17:29
 Oscilloscope 강좌를 OpenGL ES로 하다보니 순수 OpenGL ES API로는 체계적인 공부가 부족한 저로써는 너무 많은 애로사항에 부닺혔습니다.
 
 그러던 중에 libgdx라는 녀석을 찾았습니다.
 성능도 준수하고, 무엇보다도 크로스 플랫폼이여서 데스크탑에서 작성하고 실행해 볼 수도 있고 이걸 간단히 안드로이드로 바로 이식할 수 있는 오픈 엔진이라고 해서 사용해 볼까 합니다.(사실 아파치 2.0 라이센스에 끌렸던 것도 있습니다...--;)

공식 사이트는 
http://libgdx.badlogicgames.com/ 과
http://code.google.com/p/libgdx/ 입니다. 

우선 기본 라이브러리인 libgdx-0.9.1.zip(2011-06-01 기준 최신 릴리즈판)과 helloworld를 받아서 실행해보겠습니다.

 사실 helloworld 안에 실행가능한 라이브러리가 있어서 helloworld만 받아도 실행하는데 지장은 없습니다.

 우선 Desktop 버젼인 gdx-helloworld를 실행해 봅시다.

 이클립스로 import하게 되면 기본적으로 필요한 라이브러리들이 build path에 들어가 있습니다. 만약에 추가되지 않는다면 프로젝트 루트폴더에 적당한 폴더를 만들고 아래의 파일들을 복사하고 build path로 지정을 합니다.


 그럼 일단 실행해보겠습니다.

 



 다음과 같은 이쁜(?) hello world 로고가 나오는군요.

 이제 Android에서의 

 우선 빈 안드로이드 프로젝트를 하나 만들겠습니다.
 그리고 libs폴더를 만들고(일반 자바와 달리 libs라는 이름으로 하셔야됩니다!) gdx.jar, gdx-backend-android.jar, 그리고 armeabi, armeabi-v7a 폴더를 복사합시다.
 refresh 한번 해주시고 일반 java build path추가 하듯이 gdx-.jar와 gdx-backend-android.jar를 추가해줍시다.

 그리고 위에서 사용한 HelloWorld.java(실제 소스)를 복사해서 넣고, 여기에 들어가는 텍스쳐인 badlogic.jpg를 data폴더 채로 assets 폴더에 넣어줍니다. 

 이제 메인 액티비티를 AndroidApplication을 상속받도록 고치고(Activity의 하위 클래스입니다) initialize(new HelloWorld(), false); 를 추가해줍시다.


이제 실행해 보겠습니다.


 데스크탑에서와 동일한 화면을 볼 수 있습니다. 같은 소스코드로 이식이 가능하다는 것이 매우 편리한 것 같습니다.

 하지만 테스트 해 볼때 데스크탑 프로젝트에 소스를 복사하고 실제 이식을 할 때는 안드로이드에 복사를 하는 등의 귀찮은 작업조차 하지 않아야 진정한 Cross-platform 이라고 말할 수 있겠죠? 물론 이마저도 가능합니다. gdx-welloworld-android를 import해 보시거나 http://code.google.com/p/libgdx/wiki/ProjectSetup에 보시면(셋업을 참고한 곳입니다.) 아시겠지만, 메인프로젝트를 만들고 Desktop과 Android에서 각각 실행해 볼 수 빌드환경을 구축할 수 있습니다. 다음 강좌부터 다시 시작하는 Oscilloscope에서는 방금 말한 빌드 환경을 구축하는 것 부터 하겠습니다.




신고

'OPENGL > Oscilloscope' 카테고리의 다른 글

libgdx(1) - Helloworld  (0) 2011.06.01
OpenGL ES - Oscilloscope - 2. Dynamic Graph  (2) 2011.03.25
OpenGL ES - Oscilloscope - 1. Draw Stopped Graph  (1) 2011.03.23
Posted by JAVA_HOME

댓글을 달아 주세요


티스토리 툴바