표준 시험인증기술동향 백낙훈 1. 머리말 3차원컴퓨터그래픽스분야는 1980 년대에이미현재사용되는기술들의이론적배경이정립되었지만, 일반인들에게는그다지알려지지않았었다. 그러나 2000 년대로들어오면서 3차원게임들이활발히보급되고, 휴대폰의사용자인터페이스에뜻밖에 3차원그래픽스기술이적용되면서급속히퍼져나가고있다. 이러한 3차원컴퓨터그래픽스분야에서가장널리사용되고, 핵심적인기능을담당하는표준라이브러리로는 OpenGL(Open Graphics Library) 을들수있다. OpenGL은실리콘그래픽스사 (Silicon Graphics Inc.) 에서 1980 년대에개발한 IRIS GL(IRIS Graphics Library) 에서유래한다. 1992년에는 OpenGL 표준을관리하기위한별도의컨소시엄인 OpenGL ARB(Architecture Review Board) 가생기면서, 함수이름을좀더구조화하고전체구조를다듬어 OpenGL로이름을바꿨다. OpenGL은그이후현재까지항상꾸준하게또 한항상일정수준의사용자를확보하면서사용되어왔고, 지금에와스마트폰에채택되면서더욱활발히사용되고있다. OpenGL은정확히는 3차원그래픽스출력을담당하는응용프로그램인터페이스 (API: Application Program Interface) 수준의시스템라이브러리이다. 2012 년 8월미국 LA에서열린세계최대규모의그래픽스학술대회인 ACM SIGGRAPH 발표장에서는 OpenGL 발표 20주년을기념하는행사가꽤크게열렸는데, 특정소프트웨어나, 라이브러리로서는최초의 20주년기념식이었다고한다. OpenGL 은실리콘그래픽스사에서최초로제정한이후, OpenGL ARB(Architecture Review Board) 로표준의관리권한이이관되어, 사실상의국제표준으로관리되어왔다. 2000 년대초반에는상대적으로느슨한관리탓에마이크로소프트웨어사가제정한또다른 3차원그래픽스표준인 DirectX에비해열세에놓이기도하는등위기를맞기도했다. 휴대폰분야에 OpenGL 이활발히사용되면서점차모바일그래픽스분야의절대적위치를차지하게되었고, 이런이유로현재 096 11/12 2013
는모바일기기관련산업체들의표준컨소시엄인크로노스그룹 (Khronos Group) 에서 OpenGL 의전체표준을관리하고있다. 크로노스그룹은 IT 기기들에서의각종미디어재생관련표준을설정및관리하려는목적에서 2000년에 ATI, Intel, NVIDIA, 실리콘그래픽스사, 썬마이크로시스템즈 (Sun Microsystems) 등의회사가주축이되어설립한비영리산업체컨소시엄이다. 현재는 100 개가넘는 IT 분야의주요기업들이멤버로가입해있고, [ 그림 1] 과같이다양한용도의미디어관련표준들을관리하고있다. OpenGL 은원래워크스테이션이나, 현재의데스크톱에해당하는, 상대적으로고성능기기를위한 3차원그래 픽스표준으로제정되었다. 한편 2007 년을전후로스마트폰등에서강력한그래픽스기능이요구되면서, 완전히새로운모바일그래픽스시장이열리게되었다. 이시장에서는애플의아이폰을시작으로, 구글안드로이드등의대다수기기가기존의 OpenGL 을모바일기기용으로수정한 OpenGL ES(for Embedded System) 를표준으로채택했다. 반면 DirectX Mobile 을채택했던윈도우폰들이시장에서참패하면서, OpenGL 과이의모바일그래픽스용변형인 OpenGL ES는지난몇년간급격한성장세를보여 PC 시장과모바일그래픽스시장모두에서절대강자로부상하게되었다. 현재의 OpenGL 표준은 [ 그림 2] 에서보는것처럼, 기술적진보를거듭해 1년에도몇번씩최신기술을반 영한새로운버전을발표하고있다. 반면데스크톱시장 Authoring and accessibility Audio Video frameworks 3D Asset Interchange Format High level Steaming Media Recording and Playback Plugin free 3D Web content Mobile OS resource abstraction High level Enhanced Audio 에서는 OpenGL보다더높은시장점유율을보였던 DirectX 쪽은최근에와침체를보이고있다. 본고에서는모바일그래픽스시장을중심으로, 현재어떤일들이벌어지고있는지간단히소개하고자한다. Acceleration Cross platform desktop 3D Safety Critical 3D Heterogeneous Parallel Programming Embedded 3D Streaming Media and Image Processing Surface and synch abstraction Vector 2D 2. 모바일그래픽스분야동향 System Integration Codec Creation Window Systems 모바일그래픽스분야의현재이슈들을정리하면, 크 게 3 가지를들수있다. [ 그림 1] 크로노스그룹에서제공하는미디어분야의각종표준 OpenGL ES 의최신표준인 OpenGL ES 3.0 의출현 OpenGL 4.4 OpenGL 4.3 OpenGL 4.2 OpenGL 4.1 OpenGL 3.3/4.0 OpenGL 3.2 OpenGL 3.1 OpenGL 2.0 OpenGL 2.1 OpenGL 3.0 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 DirectX 9 0c DirectX 10 0 DirectX 10 1 DirectX 11 DirectX 11 1 [ 그림 2] OpenGL 의최근버전발표상황 TTA Journal Vol.150 097
OpenGL과 OpenGL ES를통합하려는 OpenGL Common의시도 웹브라우저 (Web Browser) 를위한 3차원그래픽스기능을제공하는 WebGL 도입 2.1 OpenGL ES 3.0의출현 2012년 8월 ACM SIGGRAPH 대회장에서크로노스그룹은모바일그래픽스분야의최신표준으로 OpenGL ES 3.0 을발표했다. OpenGL ES 3.0 은데스크톱용의표준인 OpenGL 3.3 과 OpenGL 4.2 에서제공되는기능중에서모바일기기들에서사용될수있고, 기술적으로검증된것들만을제공하면서도기존표준인 OpenGL ES 2.0 과의호환성을보장하도록설계되었다. 설계철학적인면에서는더사실적인화면을더빨리생성하되전력소모는줄여야한다는기존의데스크톱시장에서구현하기힘들었던상황을목표로했다. 모바일기기들의가장큰제약점중하나가사실은전력확보에있다는점을감안하면, 모바일그래픽스분야에서는궁극적으로추구해야할목표라봐야할것이다. 기술적인측면에서는전력소모를줄이면서도화면품질을향상시키고자결국텍스처 (Texture) 처리에상당한노력을기울였다. NPOT(Non-Power-Of- Two) 텍스처, 3D 텍스처, 뎁스 (Depth) 텍스처등의최신텍스처처리기법들을모두채택했고, 텍스처배열 (Texture array) 에대한기능도지원하여이들의활용도를더욱높였다. 그외에다중렌더링타겟 (Multiple rendering target) 을허용하여이제모바일기기에서도지연렌더링 (Deferred rendering) 이가능해졌다. 이는즉각적으로 3차원게임들의품질을높이는계기가될것이다. 프로그래머에게좀더많은편의를제공하려는노력도있어, 오클루전쿼리 (Occlusion query), 트랜스폼피드백 (Transform feedback) 등을이제모바일기기에서도제공하게되었다. 또표준문서자체에대한검증 도한층엄격해져표준구현결과에대한요구사항이좀더명확하고자세해졌다. 이는기존의표준문서에서일부모호한부분을하드웨어나소프트웨어구현시자의적으로해석해서, 기기마다매우세세한부분에서약간씩차이가날수있던부분을제거했다는점에서의의를가진다. OpenGL ES 2.0 과의호환을 100% 보장하려고했던점도상당히높이살만하다. 덕분에기존에개발된많은그래픽스분야의앱들이별다른노력없이그대로 OpenGL 3.0 을지원하는최신기기들에서도그대로동작하게되었다. 이는 OpenGL 의경쟁상대인 DirectX 표준이기존표준들과의하위호환성에대해그다지신경을쓰지않는다는점과크게대비된다. 2.2 OpenGL Common의활동 OpenGL ES 는최초표준제정당시부터모바일기기회사들의입김이강하게작용하여, 기존의 OpenGL 표준을관리해오던 OpenGL ARB 와는별도로, 모바일기기관련표준을관리하는크로노스그룹에서표준을제정및운영해왔다. 이는데스크톱시장과모바일시장의주도세력이서로달랐고, 이들간의알력관계때문에발생한측면이강하다. 한편 OpenGL ARB 측은표준관리의핵심역할을맡고있던실리콘그래픽스사가 2009 년 4월에파산하면서관리주체가없어져버렸고, 결국표준관리업무가크로노스그룹으로넘어가게되었다. 이후, 2009 년하반기부터는크로노스그룹내에서, 데스크톱시장을대상으로하는 OpenGL 표준과모바일그래픽스시장을대상으로하는 OpenGL ES 표준이별도의워킹그룹으로존재해왔고, 각각별도의표준을제정해왔다. 이들워킹그룹은다른표준을제정하고있긴하나, 실제참여하는인력은서로겹치는부분이많았다. 실제표준자체도서로에게영향을끼치면서밀접하게결합된형태로발전해왔다. 따라서이들 2개표준을하나 098 11/12 2013
의표준으로통합하려는움직임이자연스레나오기시작했고, 2012 년 9월에캐나다밴쿠버에서열린크로노스그룹 F2F 미팅 (Face-to-Face Meeting) 의정식안건으로채택되어워킹그룹별로따로찬반투표를한후두워킹그룹의완전한통합을전체회의에서의결했다. 구체적으로가능한한빠른시간내에 OpenGL 표준과 OpenGL ES 표준은하나로통합되기로하되, 당분간은하나의표준안에서서로의실정에맞춰 2개의표준문서를각각제정하는방식을취하기로했다. 이는기술적으로는 1개의표준만존재하지만, 표준사양을 2개의 Profile로관리하는형태가될것이다. 크게본다면, 이는 PC 그래픽스시장과모바일그래픽스시장의완전한통합을위한여정이시작되었음을의미한다. 개별기업의입장에서는이제두시장의경계가완전히제거될예정이므로, 기회이자위기가급속히다가오고있음을의미할것이다. 한편, 새로만들어진 GL Common 워킹그룹은이제데스크톱 PC 와모바일기기들이하나의통합된그래픽스플랫폼으로사용될수있도록노력을기울일것이다. 이는 API 레벨에서양쪽시장이통합됨을의미하고, 이러한통합에지대한노력을기울여왔던웹브라우저기반의그래픽스시장에도일정부분영향을미칠것이다. 국내기업입장에서는이제까지주로모바일기기들을중심으로 OpenGL ES 위주의제품개발에주력해왔었는데, 이제이를발판으로 PC 기반의 OpenGL 시장으로진출할기회가온다고볼수있을것이다. 현시점에서는이에대한충분한대비가필요하다. 특히, 국내 PC 시장이이제까지마이크로소프트사의 DirectX 에과다하게편중되어있었다는점은현시점에서국내시장의약점이자, 새로운기회가될수있다는양면성을보일것이다. 2.3 WebGL의약진컴퓨터그래픽스분야전체를놓고본다면, 우리 는 2000 년대까지의하이 - 엔드컴퓨팅 (High-end computing) 시대에서현재의모바일그래픽스시대 를지나, 이제크로스 - 플랫폼 (Cross-platform) 시대 로가고있다. 2009 년 ACM SIGGRPAH 에서크로노스 그룹은 OpenGL 의크로스 - 플랫폼표준을만들겠다 고선언했다. 이후, 2011 년 3 월에기존의 OpenGL 2.1, OpenGL ES 2.1 과호환되는 webgl 1.0 을발표했다. WebGL 은 HTML5 의캔버스엘레먼트 (Canvas element) 와도큐먼트오브젝트모델 (DOM: Document Object Model) 인터페이스를기반으로, 웹브라우저 (Web browser) 에서직접 3 차원그래픽스기능을제 공하기위한 OpenGL 의자바스크립트 (JavaScript) 바 인딩 (Binding) 으로제정되었다. 웹브라우저에서콘텐 츠를제공하는경우하위계층의하드웨어, 운영체제, 그래픽라이브러리등에독립적인콘텐츠를제작할수 있다는장점이있다. 이는개발자입장에서는 1 번의개 발로, 웹브라우저가제공되는모든환경에서해당콘 텐츠를일관되게제공할수있다는이상적인상황을의 미한다. WebGL 은콘텐츠를네트워크커넥션으로전송받 아웹브라우저에서바로보여주는방식을취하므로, 제로 - 풋프린트 (Zero-footprint), 크로스 - 플랫폼, 크로 스 - 디바이스 (Cross-device) 등의장점을가진다. 반면 인터넷커넥션과웹브라우저가있어야만실행할수있 고, 자바스크립트언어가인터프리터 (Interpreter) 방식 이라느려진다는단점을가진다. [ 그림 3] 은 HTML5 에 JavaScript Middleware JavaScript Content JavaScript HTML CSS HTML 5 CSS [ 그림 3] WebGL 의역할 Open GL ES 2 0 Open GL DX9 Angle TTA Journal Vol.150 099
연관된전체기술들중에서 WebGL 의위치를보여준다. 하드웨어수준의아랫부분에는 OpenGL, OpenGL ES 등의기존표준이존재하겠지만, 기기별로호환성을보장하지못하는상황이다. 반면에 WebGL 은상위레벨에서호환성을보장해줄수있다. 웹브라우저시장에서는 WebGL 의출현에따라, 이를지원하기위한노력이계속되고있다. 현재는사파리 (Safari), 크롬 (Chrome), 오페라 (Opera) 등의상당히많은웹브라우저들이이를지원하고있다. 한가지특이한점은마이크로소프트가 WebGL 을받아들였다는것이다. 마이크로소프트는 DirectX 의개발로 1990 년대중반에이미 OpenGL 의경쟁자가되었고, 이후마이크로소프트의 DirectX 와 OpenGL은첨예한경쟁을벌여왔다. 이때문에크로노스그룹에대부분의 IT 업체들이가입해있는상황에서도마이크로소프트만은가입하지않았고, 크로노스그룹에관계된모임에도일절참여하지않았다. 웹브라우저시장에서도마이크로소프트의인터넷익스플로러는 WebGL 을철저히배격하는입장이었고, 대신실버라이트 (Silverlight) 를지원하고있었다. 현시점에서실버라이트는결국시장진입에실패한셈이되어버렸고, 2012 년부터마이크로소프트가결국 WebGL 을받아들이기로했다는루머가떠돌기시작했다. 최근결국마이크로소프트는인터넷익스플로러 11 에서는 WebGL 이완벽히지원될것이고, 심지어처음부터 WebGL 기능을모두켜놓은상태로브라우저를출시할계획이라고발표했다. 이러한상황이 WebGL 에만국한될것인지, OpenGL ES 와같은다른분야로옮겨갈지는아직의문으로남아있다. 3. 맺음말모바일그래픽스시장은당분간 OpenGL ES 의독주가예상된다. 또한, 크로노스그룹에서는이를바탕으로데스크톱시장에서는 OpenGL Common을지원하려하고, 웹브라우저시장에서는 WebGL 을제공해서전체적으로 OpenGL 패밀리로이뤄진제품군이모든플랫폼에서광범위하게쓰이길바라고있는상황이다. 마이크로소프트의입장에서는 DirectX 로대표되는경쟁제품을내세워크로노스그룹과 OpenGL 패밀리를견제하려고할것인데, 과연전체적인흐름이어디로갈지는향후상당히흥미로운상황을만들어낼것으로보인다. [ 참고문헌 ] [1] Khronos Group(www.khronos.org). [2] Lipchak, B.: OpenGL ES version 3.0. Khronos Group, 2012. [3] Munshi, A.: OpenGL ES Common Profile Specification, version 2.0.24(Full Specification). Khronos Group, 2009. [4] Segal, M., Akeley, K.: The OpenGL Graphics System: A Specification, Version 4.4(Core Profile). Khronos Group, 2013. [5] Marrin, C.: WebGL Specification, Draft 16. Khronos Group, 2012. 100 11/12 2013