Notice
Recent Posts
Recent Comments
Link
관리 메뉴

설.현.아빠

[2011.03.11] OpenGL을 이용한 3D 그래픽 프로그래밍 - Triangle, AnimationTriangle, Retangle 본문

안드로이드/OpenGL ES

[2011.03.11] OpenGL을 이용한 3D 그래픽 프로그래밍 - Triangle, AnimationTriangle, Retangle

설.현.아빠 2011. 3. 11. 13:23



안드로이드 2 마스터 북 Pro Android 2 교재를 보면서 따라해보았다.


고스톱 게임 소스를 보는데...GLSurfaceView가 나왔고...인터넷을 통해 찾아보다가 OpenGL임을 알게 되었고....교재를 보았고...


먼말인지 이해를 못하겠고...무작정 따라했다^^



 
  main.xml 소스보기   -  화면의 첫 페이지를 구성한다. "간단한 메인 액티비티"라는 문구 출력을 한다.




 
  menu.xml 소스보기 - Main.java에서 사용하게될 메뉴의 모양을 정의하는 XML파일이다.
 



 
  Main.java 소스보기 -  main.xml과 연결된 java 소스로 메뉴버튼 동작 과정을 코딩하였다. 메뉴 버튼을 눌러서 어떤 도형을 화면에
                                      표시할지 선택 할 수 있다.




 
  OpenGLTestHarnessActivity.java 소스보기 -  Main.java로 부터 Intent를 받아 id체크를 하고, 해당 id에 대한 세팅이 구현되어있다.

         해당 ID에 대한 Render를 세팅해 주고, 그 Render로 구성된 GLSurfaceView를 화면에 출력한다.

         먼저 GLSurfaceView란 http://blog.naver.com/yhcyksyh/40110354480 여기를 참고하자^^

         간단히 Android에서 OpenGL 을 사용할 수 있도록 Provide 해주는 역활이라고나 할까??

         그럼....Render는? Render의 사전적의미는 (어떤상태가 되도록) 만들다....

          그러니까 거시기...지속적으로 무언가를 만드는 작업을 Renderring이라고...하자^^





 
  AbstractRenderer.java 소스보기  - 이 클래스는 주고 카메라와 관련된 정보를 세팅해주는 역활을 한다. 

             여기서 카메라는 찰칵찰칵~말고~~~어떤...그...보는 시점. 그니까 카메라라고 말을해도 되지만...

             내가 생각하는 그 Device Camera는 아니고 추상적 카메라라고 생각하자.

             카메라의 위치, 방향, 방위나 각도를 설정하고 창 높이나 폭의 변화 등 평면이 변경되었을때의 설정을 한다.

             물론 Surface Create 될 때의 설정도 이 클래스에서 한다.





 
  SimpleTriangleRenderer.java 소스보기 - 캬~이름만 봐도 알아야지^^ Simple Triangle을 그려주는 클래스이다.

                                                                    이 클래스들은 AbstractRenderer로 부터 상속된다.





 
  SimpleRectangleRenderer.java 소스보기  -  Simple Rectangle을 그려주는 클래스이다.




 
  AnimatedSimpleTriangleRenderer.java 소스보기  - Triangle에 Animation효과를 줘서 Rotation되도록 구현한 클래스이다.





Comments