본 논문에서는 최근 경향의 3D 그래픽 프로세서 아키텍처를 분석하여 모바일 환경에 적합한 프로세서 및 명령어 형식을 제시한다. 또한 모바일 환경에서의 3D 그래픽스 표준안인 OpenGL ES 2.0 명세에 따르는 컴파일 방식을 바탕으로 온/오프라인 방식의 세이더 프로그램 컴파일 구조 및 방법을 제시하고, 모바일 환경에 적합성을 고려한 다중 명령어 기반의 코드 생성 방법과 새로운 ILP(Instruction-Level Parallelism) 최적화 기법을 제시한다. 본 논문에서 제시하는 컴파일 구조 및 기법을 통하여 생성된 세이더 명령어는 동일한 코어 클럭을 가지는 프로세서에서 단일 명령어 기반 코드보다 약 1.5~2배 빠른 연산 처리결과를 보여준다.
본 논문에서는 OpenGL-ES 기반의 모바일 3D 블루투스 엔진을 설계 및 구현하였다. 기존 모바일 3D 네트워크 게임에서는 Wap(Wireless Application Protocol)과 VM 방식(Network)를 이용한 무선인터넷 게임이 주류를 이루고 있다. 그러나, 이들 모바일 네트워크 게임의 단점으로 지적되는 무선 네트워크 접속에 따른 지나친 통신 요금의 부담으로 인해 VM 형태를 기반으로 하는 다운로드형 게임 즉, 단독 실행형 게임이 인기를 끌고 있다. 본 논문에서는 이러한 모바일 네트워크 게임의 단점을 해결하기 위해 모바일 3D표준(C언어 기반)인 OpenGL-ES로 근거리에 있는 사람들이 무선 인터넷에 접속하지 않고, 모바일 3D 네트워크 게임을 즐길 수 있는 모바일 3D 블루투스 엔진을 제작하였다.
With rapid development of graphic hardware, researches on Virtual Reality and 3D Games have received more attention than before. For more realistic 3D graphic scene, objects were to be presented with lots of polygons and the number of objects shown in a scene was remarkably increased. Therefore, for effective visualization of large polygon models like this, view-frustum culling method, that visualizes only objects shown in the screen, has been widely used. In general, the bounding boxes that include objects are generated firstly, and the boxes are intersected with view-frustum to check whether object is in the visible area or not. Recently, an algorithm that can check in-out test of objects using OpenGL's selection mode, which is originally used to select the objects in the screen, is suggested. This algorithm is fast because it can use hardware acceleration. In this study, by implementing and applying this algorithm to large polygon models, we showed the efficiency of OpenGL assisted View-Frustum Culling algorithm. If this algorithm is applied to 3D games that have to process more complicated characters and landscapes, performance improvement can be expected.