2년여의 시간.
수십 번의 공식 회의와 수백 번의 비공식적인 이메일 토론. 수천 개의 커밋과 수만 줄의 코드. 마침내 WebGL 워킹 그룹의 기나긴 여정이 하나의 중요한 이정표에 도달했다.
2010년 말, 크로노스 그룹의 의장이 모든 워킹 그룹 멤버에게 한 통의 메일을 보냈다.
제목: WebGL 1.0 Specification - Final Draft for Review
첨부된 파일은 100페이지가 넘는 PDF 문서였다. 그 안에는 지난 2년간의 모든 논쟁과 타협, 그리고 기술적 합의의 결과물이 고스란히 담겨 있었다.
WebGL 1.0 명세서 최종 초안.
블라디미르는 떨리는 마음으로 파일을 열었다. 첫 페이지부터 마지막 페이지까지, 그는 한 단어 한 단어 꼼꼼하게 읽어 내려갔다. 그가 처음 ‘Canvas 3D’를 꿈꿨던 순간부터 회의장에서 거인들과 논쟁하던 기억까지, 모든 순간이 파노라마처럼 스쳐 지나갔다.
명세서는 간결하고 명확한 언어로 WebGL의 모든 것을 정의하고 있었다.
-
제1장: 소개 (Introduction)
WebGL의 목표와 철학, 그리고 OpenGL ES 2.0과의 관계를 명시했다. ‘플러그인 없이, 웹 플랫폼에 네이티브하게 통합되는 안전한 3D 그래픽 API’라는 핵심 가치가 첫 장에 굳건히 박혀 있었다. -
제2장: 컨텍스트 생성 (Context Creation)
<canvas>
요소로부터webgl
이라는 이름의 렌더링 컨텍스트를 얻어오는 과정과, 컨텍스트 생성 시 전달할 수 있는 옵션들(알파 채널, 깊이 버퍼, 스텐실 버퍼 등)을 상세히 기술했다. -
제3장: WebGL API
명세서의 심장부.gl.createBuffer
,gl.texImage2D
,gl.compileShader
,gl.drawArrays
등 개발자가 사용하게 될 모든 API 함수들의 목록과 각각의 인자, 반환 값, 그리고 발생 가능한 오류들이 빠짐없이 기록되어 있었다. 함수 하나하나에 워킹 그룹의 치열했던 논쟁의 흔적이 녹아 있었다. -
제4장: GLSL (OpenGL Shading Language)
WebGL에서 사용될 셰이더 언어는 GLSL ES 1.00 명세를 따르되, 정밀도 지정(precision)과 같은 웹 환경에 특화된 몇 가지 규칙이 추가되었다. -
제5장: 보안 고려사항 (Security Considerations)
WebGL이 어떻게 샌드박스 모델 안에서 안전하게 동작하는지를 설명하는, 가장 중요한 장이었다. 드라이버 버그로부터 시스템을 보호하기 위한 브라우저의 역할과 책임, 그리고 정보 유출을 막기 위한 여러 제약 사항들이 명시되어 있었다.
이것은 더 이상 아이디어나 프로토타입이 아니었다. 전 세계 모든 브라우저 제조사가 따라야 할 구체적이고 실행 가능한 ‘법률’의 초안이었다.
이제 남은 절차는 명확했다.
워킹 그룹의 모든 멤버는 이 최종 초안을 검토하고, 마지막으로 동의 의사를 표해야 했다. 한 회사라도 반대하면, 명세서는 다시 수정과 논쟁의 수렁으로 빠져들게 될 터였다.
일주일의 검토 기간이 주어졌다. 블라디미르를 포함한 모든 엔지니어들은 마지막까지 긴장의 끈을 놓지 못했다. 혹시라도 자신들이 놓친 허점은 없는지, 모호하게 해석될 여지가 있는 문구는 없는지, 마지막 한 글자까지 꼼꼼하게 확인했다.
마침내, 운명의 날이 밝았다.
워킹 그룹의 투표가 시작되었다. 모질라, 구글, 애플, 오페라, 엔비디아, AMD… 각 회사의 대표들이 차례로 ‘동의(Approve)’ 버튼을 눌렀다.
마지막 회사의 동의 버튼이 눌리는 순간, 크로노스 그룹의 시스템은 자동으로 결과를 공표했다.
WebGL 1.0 Specification: Ratified (비준 완료)
이제 초안(Draft)이 아닌, 공식 명세서(Official Specification)가 된 것이다.
물론 이것이 일반 대중에게 공개되는 최종 발표는 아니었다. 각 브라우저가 이 명세서를 완벽하게 구현하고 안정성을 확보할 때까지는 몇 달의 시간이 더 필요했다.
하지만 가장 중요한 관문은 통과했다.
마치 식당의 메뉴판이 완성된 것과 같았다. 이제 남은 일은 각 브라우저라는 레스토랑의 주방에서, 이 새로운 메뉴판에 적힌 모든 요리를 실제로 만들어 손님에게 내놓을 준비를 하는 것이었다.
블라디미르는 길고 긴 터널의 끝에서 마침내 한 줄기 빛을 본 기분이었다. 그의 꿈이, 이제 곧 전 세계 수억 명이 사용하는 현실이 될 터였다.