모바일 3D의 국제 공개 표준 OpenGL-ES
최근 모바일 3D 관련 업계들의 화두는 국제 공개 표준으로 부각되고 있는 OpenGL-ES(OpenGL for Embedded Systems)이다. 현재 국내외 이동통신사, 단말기/칩 제조사, 3D 엔진 개발사 할 것 없이 OpenGL-ES를 수용하여 제품을 개발하고 있다. 지난 해 7월 모바일 시스템용 그래픽 인터페이스 개발 동맹인 크로노스 그룹(Khronos Group)이 OpenGL-ES Ver.1.0을 비준한 이래, 세계의 주요 칩셋 및 코어, 소프트웨어 개발 업체들이 줄이어 그룹의 멤버로 참여하고 있으며, 한국에서는 SK텔레콤이 Promoting 멤버로, 아로마소프트와 XCE가 Contributing 멤버로 참여하고 있다.
SK텔레콤은 이미 OpenGL-ES 시스템에 대한 시장 개발을 위해 Khronos 그룹과 함께 협력해 나갈 것을 밝힌 바 있으며, 실제로 OpenGL-ES를 자사 3D 핸드헬드 애플리케이션의 표준 그래픽 API로 채택하였다. 이에 따라 SKT를 고객으로 하는 관련 단말기/칩 제조업체들과 3D S/W 개발업체들은 자사의 제품들이 OpenGL-ES를 수용하도록 제품을 개발하고 있으며, 이러한 현상은 타 이동통신사 및 관련 업체들에게도 빠르게 확산되고 있다.
개요
OpenGL ES는 OpenGL의 embedded system version으로, 휴대용 단말기나 기기, 임베디드 디스플레이 상에서 보다 향상된 2D/3D 그래픽 성능을 제공하기 위해 무료로 배포되는 Low-level단의 경량 API이다. OpenGL ES는 OpenGL을 기반으로 하되 사용빈도가 낮거나 불필요한 부분을 제거한 OpenGL 1.3의 subset으로 S/W 애플리케이션과 H/W 혹은 S/W 그래픽 엔진간에 초경량의 API를 제공한다. 버전 1.0의 스펙은 Common/Common-Lite 렌더러와 네이티브 플랫폼 윈도우 시스템과 연결해주는 EGL 등을 포함하고 있다.
이러한 임베디드 시스템을 위한 표준 API는 모든 메이저급 모바일/임베디드 플랫폼 상에서 다양한 3D 그래픽과 게임의 제공을 보다 용이하게 해주며 애플리케이션의 개발에 있어 다음과 같은 다양한 편의성을 제공한다.
- 산업 표준 & 로열티 프리 (Industry Standard and Royalty Free)
: 개발자들은 플랫폼이나 마이너한 코드에 힘을 쏟기보다 컨텐츠 개발에 더 집중할 수 있게 되었다.
- 적은 메모리 요구량 & 저전력 소비 (Small footprint & low power consumption)
- S/W에서 H/W 렌더링으로의 전이 (Seamless transition from software to hardware rendering)
- 확장 가능 & 진화 발전 (Extensible & Evolving)
: 손쉽게 업데이트 될 수 있는 extension을 제공함으로써 통제 가능하면서도 혁신적인 진화, 발전이 가능하다.
- 용이한 사용성 (Easy to use)
: OpenGL에 기반하고 있으며, 직관적 디자인과 논리적 명령 체계로 구조화되어 있다.
- 풍부한 문서 자료들 (Well-documented)
: OpenGL에 기반하고 있기 때문에 방대한 관련 자료와 샘플 코드 등을 구할 수 있다.
OpenGL-ES의 등장 배경
1. 3D 그래픽의 가능성과 잠재력
그래픽 소프트웨어에 대한 수요와 기회가 점점 커져가는 가운데, 3D 그래픽에 대한 수요는 거의 모든 영역에서 일어나고 있다. 특히 모바일 단말기 상에서의 3D 게임을 위한 하드웨어 IP화가 급속히 진행되어 2004년에는 상당수의 휴대단말기에 탑재될 것으로 전망된다.
2. 스크린 사이즈의 반비례 법칙
스크린 사이즈가 작아질수록 보다 향상된 그래픽 처리 성능을 요구한다. 제한된 스크린 환경에서 가장 효율적인 픽셀당 그래픽 처리 능력을 요구하며, 최신 API에 의해 정의된 보다 진보된 그래픽 기술을 요구한다. 안티 알리아싱(Anti-aliasing), 다단계 UI 구성(Multi-level compositing), 다양한 미디어 표시(Rich media), 3D 등이 그 예라 할 수 있다.
3. 임베디드 단말기 시장의 필요
입체적, 실제적 화면 View를 통해 사용자에게 보다 쉽고 빠르게, 정확한 정보를 제공, 사용자의 안전성을 강화시켜야 하는 항법 장치나 텔레메틱스 단말기, 보다 세련되고 화려한 그래픽을 요구하는 게임 콘솔이나 셋탑박스 그리고 다양한 플랫폼을 무론하고 제한된 스크린 환경 내에서 향상된 그래픽을 제공해야 하는 Post-PC 단말기들이 이전 보다는 더욱 성능이 향상된 그래픽을 요구하고 있다.
4. 임베디드 시장의 API 문제
현재 보다 향상된 그래픽을 요구하는 애플리케이션들의 기반이 되는 Low-level단 상의 적합한 그래픽 API가 부재한 상황으로 이는 마치 Direct3D나 OpenGL이 없는 데스크탑 윈도우즈와도 같은 현실이다. 그렇다고 기존의 OpenGL을 사용하기에는 너무 큰 사이즈가 문제가 되며, Direct3D를 채용하기에는 플랫폼 종속적인 성격이 문제가 된다. 이에 따라 사이즈가 작고 플랫폼 독립적인 Low-level단의 그래픽 API의 필요성이 대두된다.
5. 크로스 플랫폼을 위한 API에 대한 요구
현재 휴대 단말기에는 여러 개의 메이저급 모바일 및 임베디드 플랫폼들이 존재한다. 따라서 이들의 다양한 플랫폼 상에서 플랫폼에 구애됨이 없이 어디에서나 각종 3D 그래픽 및 게임 등을 제공할 수 있도록 해주는 표준 3D 그래픽 API가 요구되어지고 있다.
OpenGL-ES의 Framework
1. Profile
OpenGL-ES의 스펙은 몇 개의 프로파일로 구성된 정의를 포함하며, 각 프로파일은 OpenGL-ES에 특화된 몇몇 추가 Extension이 추가된 OpenGL 1.3의 서브셋이다. 프로파일 정의는 OpenGL 1.3 스펙과 호환되며, 기능성에 있어서는 향후 시장의 요구나 플랫폼의 수용성에 따라서 추가될 수 있도록 제외되어 있다.
현재 스펙은 OpenGL 1.3의 Subset으로 OpenGL의 장점은 유지하고, 모바일 환경에 요구되는 기능만을 제공하며, 중복성과 고비용을 회피하며 사용되지 않는 기능은 제거한 간소화된 3D 규격인 Common Profile과 Common-Lite Profile의 두 가지 Profile 형태를 지원한다.
Command profile과 더 작은 메모리가 할당된 플랫폼을 위한 Command-Lite profile은 Core Addition과 Extension을 통해 더 많은 기능을 추가적으로 제공할 수 있도록 구성되어 있다.
- Common Profile : PDA, STB나 키오스크 같은 같은 광범위한 디바이스에 사용
- Common-Lite : 핸드셋과 같은 최소화된 모바일 디바이스에 사용
2. Conformance
OpenGL-ES의 스펙은 해마다 검토되어지고 수정되어진다. 표준 규격을 따르고자 하는 기업들의 구현물은 반드시 규격에 부합하는지에 대한 일치 혹은 호환성 테스트를 거쳐야 하며, 이러한 테스트에 대한 정의는 OpenGL-ES 규정 문서의 일부로 유지, 관리되고 있다.
3. Extensions
OpenGL-ES는 해당 규격을 따르고자 하는 개별 기업들이 새로운 기능을 추가할 수 있도록 일련의 표준 Extension을 지원한다. 표준 Extension은 프로파일 정의에 맞추기 위한 다양한 서브 셋팅들이 일관된 형태를 유지하도록 하는 데 목적이 있다. 물론 개별 사용자들의 독자적인 Extension이나 OpenGL의 Extension을 사용할 수도 있다. 결국 개별 Extension은 필요에 따라 제외 혹은 추가되어질 수 있다.
4. EGL (플랫폼 인터페이스 레이어-H/W 연동 Layer)
OpenGL-ES는 EGL이라는 공용 플랫폼 인터페이스 레이어를 포함하고 있는데, EGL (Embedded Graphic Library)은 플랫폼이나 운영체제와 상관없이 그래픽 작업을 사용할 수 있게 도와 주는 것이다. 즉, 플랫폼이나 운영체제가 다른 환경에서 작동하고 있는 렌더링 엔진에서도 원하는 그래픽 작업을 할 수 있게 도와 주는 함수들을 지원해 주는 역할을 한다.
* 다음호에는 OpenGL-ES Pipeline의 주요 구성과 발전 방향, JSR(Java Specification Request)-184와 표준화그룹인 크로노스 그룹에 대해 소개합니다.


고미드는 모바일브라우저, 모바일 3D솔루션 등의 원천 기술을 바탕으로 한국의 무선인터넷시장을 선도하는 기업입니다. 세계 최초로 2D/3D Convertible Browser를 개발하였으며, 아시아 최초로 모바일용 자바 브라우저를, 그리고 한국 최초로 모바일 3D 솔루션을 개발하였습니다. 현재 주요 이동통신사 및 단말기/칩 제조업체를 주요 고객으로 하고 있으며, 34개의 컨텐츠 공급업체들과 긴밀한 협력을 유지하고 있습니다.
※ 출처 : http://www.skyventure.co.kr/