설.현.아빠
[2011.03.11] OpenGL을 이용한 3D 그래픽 프로그래밍 - Triangle, AnimationTriangle, Retangle 본문
[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되도록 구현한 클래스이다. |