티스토리 뷰

Computer/WebGL

001. About WebGL

DogBull 2010. 4. 5. 04:21
http://www.khronos.org/webgl/에서, WebGL에 대한 정보를 얻을 수 있다.



   WebGL은, HTML5를 기반으로하는 OpenGL ES 2.0의 JavaScript바인딩이다. OpenGL ES 2.0 기반답게, Vertex Shader / Pixel Shader(or Fragment Shader)를 통한 GPU 가속이 가능하다는 것이 특징인데, 가장 중요한 것은 별도의 플러그인 없이도(Adobe Flash Player, Java Applet, MS ActiveX, 혹은 VRML 등과 같은 웹브라우저 플러그인) 웹페이지 상에서 3D 그래픽을 표현할 수 있다는 것이다. 이는 Ubiquitous computing environment 환경에서는 큰 장점으로 작용한다. 어느 컴퓨팅 환경이든, WebGL 표준을 지원하는 Web browser만 설치되어 있다면, 동일한 3D 결과물을 얻을 수 있기 때문이다.
   이러한 큰 장점을 지는 WebGL도 아직까지 여러 문제점을 지니고 있다. 첫째, 현재 모든 Web browser가 WebGL지원하지 않고 있다는 것이다. (Mac os의 Safari, FireFox, Google Chrome등의 Web browser에서만 WebGL을 지원하고 있다. 'MS의 Internet Explorer를 제외하고는 거의 다 지원한다'라고 할 수도 있지만, 지원하는 Web browser라 할지라도 아직 베타버전에서만 지원하는 browser도 있다.) 둘째, 모두들 예상하고 있는 바, JavaScript에서의 Bottleneck현상이다. Graphics Library의 특성상, 화면의 갱신 속도는 매우 중요한 사항중 하나인데, Binary code도 아닌, Script 기반으로 동작하는 code는 상대적으로 느린 속도로 동작할 것이다.(고려해야할 사항은 WebGL이 동작하는 컴퓨팅 환경인데, 요즘같은 High performance desktop 환경에서야 만족할 만한 속도를 얻을 수 있겠지만, Mobile Computing환경에서 과연 Desktop환경과 동일한, 적어도 비슷한 결과를 낼 수 있는가하는 것이다.) 셋째, Web 환경의 http protocol로 3D 그래픽스의 고용량 데이터를 전송할때 발생할 지연 현상이다. 고용량의 Mesh data(Vertex/Index data)와 Texture데이터를 웹상에서 읽어들이는 방식은 local memory에 저장되어 있는 데이터를 읽는 방식보다 빠르지 않을 것이며, 열악한 인터넷환경에서라면 그 문제는 더 심각해진다. 더욱이 Web Page를 방문할 때마다 데이터를 전송 받아야 하므로(사용자가 cache를 지운다면, 혹은 web page에 대한 cache를 지원하지 않는 환경이라면) 보다 많은 트래픽이 발생할 것이다. 넷째, 장점으로 언급된 하드웨어 가속 관련 인데, http protocol로 접근하게 될 GPU에 대한 보안 문제를 들 수 있다.
   이상 WebGL에 대한 내용을 간략히 적어보았다. 이 글에서는 단점이 큰 비중을 차지하고 있으나, 이는 WebGL이 지닌 혹은 앞으로 지니게 될 것이라 기대하는 장점들은, 다른 이들도 공감할 정도로 많을 것이라 생각되므로 별도로 이야기할 필요가 없었을 뿐이다.(굳이 WebGL이 아닐 지라도, 3D Graphics based web browsing in ubiquitous computing environment를 지원하는 또 다른 표준이 있다면..)

아래는 SIGGRAPH2009에서 발표한 WebGL에 대한 PDF자료이다.
WebGL: OpenGL ES in JavaScript

아래는 WebGL에 대한 자료들이다.
https://developer.mozilla.org/en/WebGL
http://www.khronos.org/webgl/wiki/Main_Page
댓글
댓글쓰기 폼
Total
198,240
Today
3
Yesterday
9