본문 바로가기
C++ 200제/코딩 IT 정보

WebGL에서 제공하는 렌더링 장점 5가지 (웹지엘)

by vicddory 2018. 3. 6.

WebGL에서 제공하는 렌더링 장점 5가지 (웹지엘)


WebGL은 최신 브라우저에서 효율적인 표준 방법으로 3D 렌더링을 가능하게하는 3D 그래픽 라이브러리다. 위키피디아에 따르면, WebGL의 렌더링rendering이란 컴퓨터 프로그래밍 분야에서 모델로부터 이미지를 생성하는 처리 과정이다. 이 처리 과정이 컴퓨터에서 실행됨에 따라 이미지를 생성하는 방법에는 몇 가지 차이점이 있다.


WebGL 렌더링 장점 5가지[웹지엘 렌더링 장점]


WebGL과 첫번째 차이점은 특별한 그래픽 하드웨어의 존재 유무다.


소프트웨어 렌더링software-based rendering은 3D 렌더링을 수행하기 위해 컴퓨터의 메인 프로세서 CPU를 이용한다. 반면에 하드웨어 렌더링hardware-based rendering은 그래픽 프로세싱 유닛GPU, Graphics Processing Unit을 통해 3D 렌더링을 실시간으로 수행한다.


기술적인 관점에서 보면, 3D 렌더링만 전문적으로 수행하는 하드웨어가 있는 하드웨어 렌더링이 소프트웨어 렌더링보다 훨씬 더 효율적이다. 대조적으로 소프트웨어 렌더링의 경우는 하드웨어 의존성이 없어 대중성이 많다고 할 수 있다.

WebGL과 두 번째 차이점은 로컬 렌더링과 원격 렌더링의 차이점이다.


렌더링이 너무 복잡할 경우에는 보통 원격으로 서버에서 렌더링을 한다. 이 경우는 3D 애니메이션의 경우로서 하드웨어가 풍부한 서버에서 렌더링을 하는 편이 좋다. 이를 서버 기반 렌더링server-based rendering이라 한다.


반대의 경우는 로컬에서 렌더링을 하는 경우로, 클라이언트 기반 렌더링client-based rendering이라 한다.  WebGL은 클라이언트 기반 렌더링을 한다. 3D 씬을 만들 수 있는 각 요소를 서버로부터 받지만, 렌더링은 클라이언트의 그래픽 하드웨어를 이용해 작업을 수행한다.


자바 3D, 플래시, 유니티 웹 플레이어Unity Web Player 플러그인 같은 기술과 비교하면 웹지엘에는 몇 가지 장점이 있다.


1. 자바스크립트 프로그래밍

자바스크립트는 웹 개발자와 웹 브라우저 양쪽 모두에게 편리한 언어다. 개발 언어로 자바스크립트를 채택하면 돔DOM에 쉽게 접근할 수 있으며 애플릿 방식보다 쉽게 모든 요소에 접근할 수 있다. 그렇기 때문에 WebGL을 개발할 때 제이쿼리 같은 제3의 자바스크립트 라이브러리나 여타 HTML5 기술을 이용할 수 있다.


2. 자동 메모리 관리

사촌격인 오픈지엘이나 여타 기술은 개발자가 직접 메모리 할당/해제를 해야 하지만 WebGL은 그렇지 않다. 자바스크립트의 변수 할당 규칙에 따라 메모리는 더 이상 필요하지 않을 때 자동으로 해제된다. 이런 단순한 프로그래밍 규칙은 좀 더 명확하고 쉽게 이해할 수 있도록 코드를 줄일 수 있다.


WebGL에서 제공하는 렌더링 장점 5가지[웹지엘 렌더링 장점]


3. 자원의 풍부함

기술이 발전함에 따라 자바스크립트 구동이 가능한 웹 브라우저를 스마트폰과 태블릿에서 사용할 수 있게 됐다. 이 책을 쓰는 현재 모질라 재단Mozilla Foundation은 모토로라와 삼성 폰에서 WebGL을 테스트하고 있다. 또한 안드로이드 플랫폼에서 웹지엘을 구현하고 있다.


4. 성능

WebGL은 로컬 그래픽 하드웨어 덕분에 다른 독립된 애플리케이션에 비해 성능이 떨어지지 않는다(예외도 있음). 지금까지는 많은 3D 웹 렌더링 기술이 소프트웨어 방식 렌더링에 의존했다.


5. 제로 컴파일

WebGL은 자바스크립트로 개발되지 때문에 컴파일이 필요없다. 이는 3D 애플리케이션을 만드는 데 있어 장점이 될 수 있다.

그러나 셰이더 프로그램을 설명할 때는 컴파일이 필요하다는 사실을 알 수 있다. 하지만 이런 것도 브라우저 안에서 일어나는 일이 아니라 로컬 그래픽 하드웨어에서 일어나는 일이다.


출처 - WebGL 3D 프로그래밍, 디에고 켄토

WebGL에서 제공하는 렌더링 장점 5가지 (웹지엘)

댓글