마이크로소프트(MS)가 엣지 브라우저용 '웹GL(WebGL)' 처리 소프트웨어(SW)의 일부 소스코드를 공개했다. 크롬과 파이어폭스를 비롯한 다른 윈도용 브라우저에서 3D 콘텐츠를 제대로 처리할 수 있도록 돕는다는 명분을 내걸었다.
웹GL은 브라우저에서 3D 콘텐츠를 비롯한 고성능 그래픽 처리를 위해 고안된 웹표준 API다. 대략 지난 2~3년새 최신 웹표준을 따르는 주요 브라우저에서 이를 지원하고 있으며, 유니티와 언리얼엔진과 같은 양대 3D게임엔진으로 웹GL 기반 콘텐츠를 만들 수 있다.
[☞관련기사: 웹GL, 고성능 웹그래픽 대세로 뜨나]
[☞관련기사: 유명 게임엔진, 웹브라우저 지원 급물살]
당연히 윈도10에 기본 브라우저로 지정된 엣지 환경에서도 웹GL 표준이 구현됐는데, 이를 만든 MS는 자신들의 웹GL 처리용 소프트웨어 코드 일부를 오픈소스로 내놓기로 한 것이다. 해당 소스코드는 깃허브 저장소를 통해 MIT라이선스 기반으로 제공되고 있다.
프랭크 올리비어 MS 프린시펄 프로그램 매니저 리드는 9일(현지시각) 공식 MS엣지 개발자 블로그를 통해 "우리는 이 소스코드가 웹GL 프로젝트를 다루는 모든 사람들에게 유용하길, 그리고 웹GL의 고성능, 정확성, 상호운용성에 도움이 되길 바란다"고 밝혔다.
[☞참조링크: Open-sourcing the Microsoft Edge WebGL GLSL transpiler]
[☞참조링크: GitHub - MicrosoftEdge/WebGL: Microsoft Edge WebGL Implementation]
MS가 공개한 걸 정확히 표현하면 'GLSL-HLSL 트랜스파일러(transpiler)'다. 간단히 말해 GLSL 코드를 HLSL 코드로 바꿔 주는 변환기다. 기능상 구글이 만들어 크롬이나 파이어폭스 브라우저에 사용되는 오픈소스 그래픽 엔진 앵글(ANGLE)과 비슷하다고 한다.
GLSL은 GPU에서 돌아가는 3D콘텐츠 프로그램(셰이더)을 작성하는 언어고, HLSL은 엣지에서 사용되는 MS윈도 전용 언어다. 엣지 브라우저는 웹GL기반 3D콘텐츠를 처리하기 위해, HLSL 언어 그리고 윈도의 '다이렉트X 서브시스템'이라는 구성요소를 사용한다. 엣지의 웹GL 처리 SW(렌더러)는 웹GL API 호출을 다이렉트X 호출로 바꾸고, 트랜스파일러는 GLSL 셰이더를 HLSL 셰이더로 바꾼다.
이 때 트랜스파일러는 GLSL 셰이더를 해석하고 정확성 및 보안 규제 준수를 점검한 다음 HLSL 언어로 된 결과물로 바꾸는 절차를 적용하는 식으로 작동한다. 즉 다른 윈도용 브라우저 개발사들이 MS가 공개한 트랜스파일러 소스코드를 사용하면 윈도에서 GLSL 셰이더 해석과 HLSL 변경 과정을 엣지 브라우저와 동등한 수준으로 처리할 수 있게 된다고 예상할 수 있다.
엣지 개발팀은 현재 공개한 소스코드와 관련된 스크립트와 기술 문서를 향후 추가할 계획이라고 밝혔다. 현재 웹GL, 오픈GL, 3D 구현 기술을 다루는 개발자들이 자신들의 코드를 살펴 보고 여러 브라우저간 상호운용성을 개선할 수 있도록 노력 중이라고 덧붙였다.
MS가 엣지 브라우저의 구성요소 일부를 오픈소스로 공개한 게 처음 있는 일은 아니다. 앞서 자바스크립트 엔진 '차크라(Chakra)'의 핵심 구성요소(차크라코어) 소스코드를 깃허브에 역시 MIT라이선스 기반으로 공개한 바 있다.
[☞관련기사: MS, 엣지 자바스크립트 엔진 오픈소스화]
MS는 차크라코어 코드뿐아니라 엣지 브라우저의 웹표준 기술 지원 현황 자체를 공개하고 있다고 강조했다. 이를 통해 개발자들은 자신의 웹서비스나 웹애플리케이션에 쓰려는 기술 요소 가운데 어떤 것이 엣지에서 작동하는지, 또는 작동하지 않는지, 현재 개발 중인지 등을 확인할 수 있다.
관련기사
- 윈도10 엣지용 애드블록 공개2016.06.10
- MS 스카이프, 엣지서 플러그인없이 사용2016.06.10
- MS, 엣지 브라우저에 H.264 코덱 지원2016.06.10
- MS "최신 브라우저로 플래시 자동재생 차단"2016.06.10
MS가 지금처럼 엣지의 기술 구성요소들을 계속 공개해 나간다면 크롬의 모체인 '크로미엄'이나 파이어폭스처럼 아예 브라우저 또는 렌더링 엔진자체가 오픈소스로 공개될 수 있지 않을까. 하지만 그 실현 가능성은 높지 않다.
엣지 개발팀 측은 "현시점에 엣지 또는 엣지HTML의 소스코드를 공개할 계획은 없다"고 못박았지만 "앞으로도 엣지의 개발과 관련된 투명성을 높이기 위해 계속 노력하겠다"고 밝혔다.