웹3D

웹3D(Web3D) 또는 3D 웹(3D Web)은 3차원 컴퓨터 그래픽스를 사용하여 웹사이트를 표시하고 탐색하는 기술 그룹이다. 이러한 기술은 온라인 게임, 가상 현실 경험, 대화형 제품 시연, 3차원 데이터 시각화와 같은 응용 프로그램을 웹 브라우저 내에서 직접 구현할 수 있게 한다.

웹3D의 등장은 1994년 월드 와이드 웹에서 3차원 그래픽 데이터를 저장하고 표시하기 위해 고안된 파일 형식인 VRML의 등장으로 거슬러 올라간다. 현대 웹3D는 주로 WebGL에 의해 구동되는데, 이는 플러그인 없이 웹 브라우저에서 하드웨어 가속 3차원 그래픽 렌더링을 가능하게 하는 자바스크립트 API이다.

Pre-WebGL era
웹3D의 등장은 1994년 월드 와이드 웹에서 3차원 그래픽 데이터를 저장하고 표시하기 위해 고안된 파일 형식인 VRML의 등장으로 거슬러 올라간다. 1995년 10월, 인터넷 월드에서 Template Graphics Software는 넷스케이프 커뮤니케이션즈의 넷스케이프 2.0 베타 버전을 위한 3D/VRML 플러그인을 시연했다.First 3D/VRML Plug-in for Netscape 2.0 shown by TGS; TGS extends leadership in Internet 3D products and technology. AllBusiness.com. 30 October 1995. Last accessed 26 December 2011.

웹3D 컨소시엄은 형식의 공동 개발을 추진하기 위해 설립되었다. VRML과 그 후속작인 X3D는 국제 표준화 기구와 국제전기기술위원회에 의해 국제 표준으로 인정받았다.

이 기술의 주요 단점은 3차원 렌더링을 수행하기 위해 타사 브라우저 플러그인을 사용해야 한다는 점이었고, 이는 표준 채택을 늦추었다.

2000년에서 2010년 사이에 이러한 플러그인 중 하나인 어도비 플래시 플레이어는 데스크톱 컴퓨터에 널리 설치되어 대화형 웹 페이지와 온라인 게임을 표시하고 비디오 및 오디오 콘텐츠를 재생하는 데 사용되었다.Looking back at the best Flash sites of 2009 , Adobe Developer Connection, 14 December 2009 변환, 조명, 텍스처링과 같은 3차원 계산을 수행하기 위해 소프트웨어 렌더링과 액션스크립트 3를 사용하는 여러 플래시 기반 프레임워크가 등장했다. 그중 가장 주목할 만한 것은 페이퍼비전3D와 어웨이3D였다.

결국 어도비는 플래시 플레이어 및 AIR 제품을 위한 GPU 가속 대화형 3차원 그래픽 렌더링 API인 Stage3D를 개발했으며,3D game development for Flash and video games 이는 소프트웨어 공급업체에 의해 채택되었다.

2009년 구글은 오픈 소스 3차원 웹 기술인 O3D를 선보였다. 이 또한 브라우저 플러그인을 필요로 했지만, 플래시/Stage3D와는 달리 자바스크립트 API를 기반으로 했다. O3D는 게임뿐만 아니라 광고, 3D 모델 뷰어, 제품 데모, 시뮬레이션, 엔지니어링 응용 프로그램, 제어 및 모니터링 시스템에도 초점을 맞추었다.O3D Project Page from Google Code

WebGL과 glTF
WebGL("웹 그래픽스 라이브러리"의 줄임말)은 모질라 재단의 블라디미르 부키세비치(Vladimir Vukićević)가 시작한 Canvas 3D 실험에서 발전했다. 부키세비치는 2006년에 Canvas 3D 프로토타입을 처음 시연했다. 2007년 말까지 모질라와 오페라 모두 자체적인 개별 구현을 마쳤다.

2009년 초, 비영리 기술 컨소시엄인 크로노스 그룹은 애플, 구글, 모질라, 오페라 등이 초기 참여하여 WebGL 워킹 그룹을 시작했다. WebGL 사양 버전 1.0은 2011년 3월에 출시되었다.

새로운 기술의 주요 장점은 웹 표준과의 적합성과 브라우저 플러그인을 사용하지 않고도 거의 네이티브 수준의 3차원 성능을 제공한다는 것이다. WebGL은 OpenGL ES를 기반으로 하므로 추가적인 추상화 계층 없이 모바일 장치에서 작동한다. 다른 플랫폼의 경우 WebGL 구현은 ANGLE을 활용하여 OpenGL ES 호출을 DirectX, OpenGL 또는 벌컨 API 호출로 변환한다.

주목할 만한 WebGL 프레임워크로는 가상 현실 경험을 구축하기 위해 HTML 기반 마크업을 사용하는 A-Frame, 브라우저 게임을 구축하기 위한 독점 클라우드 호스팅 생성 플랫폼과 함께 오픈 소스 엔진인 플레이캔버스, 2000년대 초 데모씬을 만드는 데 사용된 MIT 라이선스 프레임워크인 Three.js, 버전 5에서 WebGL 백엔드를 확보한 유니티, 그리고 블렌더, 3ds Max, 마야와 통합되어 3차원 웹 콘텐츠를 생성하는 Verge3D가 있다.

WebGL의 빠른 채택과 함께 새로운 문제가 발생했다. 즉, 웹에 최적화된 3차원 파일 형식의 부족이다. 이 문제는 COLLADA 워킹 그룹의 구성원들이 2012년에 고안한 형식인 glTF에 의해 해결되었다. SIGGRAPH 2012에서 크로노스는 당시 WebGL Transmissions Format(WebGL TF)이라고 불리던 glTF 데모를 발표했다. 2015년 10월 19일, glTF 1.0 사양이 출시되었다. 버전 2.0 glTF는 Fraunhofer가 제안한 물리 기반 렌더링 재료 모델을 사용한다. 다른 업그레이드로는 얼굴 애니메이션과 같은 기술을 위한 희소 접근자(sparse accessors) 및 모프 타겟(morph targets), 그리고 더 빠른 인덱스 기반 액세스를 위해 최상위 glTF 객체 속성을 배열로 대체하는 것과 같은 코너 케이스 또는 성능을 위한 스키마 조정 및 파괴적 변경 사항이 포함된다.

미래
"WebGPU"는 가속 그래픽 및 컴퓨팅을 위한 잠재적인 웹 표준이자 자바스크립트 API의 작업명으로, "현대적인 3차원 그래픽 및 컴퓨팅 기능"을 제공하는 것을 목표로 한다. 이는 애플, 모질라, 마이크로소프트, 구글 등의 엔지니어들이 참여하는 W3C "GPU for the Web" 커뮤니티 그룹에 의해 개발되고 있다.

WebGPU는 기존의 어떤 3차원 API를 기반으로 하지 않을 것이며, 러스트와 유사한 구문을 셰이더에 사용할 것이다.

 같이 보기 
 웹3D 컨소시엄
 WebGL 프레임워크 목록
 벡터 그래픽스 마크업 언어 목록

 각주 

분류:그래픽 표준
분류:3차원 컴퓨터 그래픽스
분류:가상 현실
분류:웹 개발