시간이 흘러 2014년.
WebGL은 더 이상 새로운 기술이 아니었다. 웹 개발자라면 누구나 알아야 할 기본적인 도구 중 하나로 자리 잡았다. Three.js를 비롯한 수많은 라이브러리들이 생겨나 생태계는 풍성해졌고, 웹은 그가 상상했던 것 이상으로 입체적이고 역동적인 공간으로 변모하고 있었다.
어느 날 저녁, 블라디미르는 늦게까지 사무실에 남아 자신의 옛 프로젝트 폴더를 정리하고 있었다. 그러다 우연히, 아주 오래된 파일 하나를 발견했다.
2007-prototype-test-01.html
호기심에 파일을 더블클릭하자, 최신 파이어폭스 브라우저 창에 아주 작은 점 하나가 찍혔다. 점 하나를 그리기 위해 수십 줄의 코드를 작성했던, 그의 첫 번째 ‘Canvas 3D’ 프로토타입이었다.
그는 잠시 키보드에서 손을 떼고, 모니터 속의 작은 점을 물끄러미 바라보았다.
그 점은 단순한 픽셀이 아니었다.
그것은 그의 머릿속에만 존재하던 막연한 아이디어가 처음으로 세상에 모습을 드러낸 순간이었다. ‘웹 브라우저에서 GPU의 힘을 직접 빌려올 수 있지 않을까?’ 라는, 당시로서는 무모하고 허황되게 들렸던 질문에 대한 최초의 긍정적인 대답이었다.
그는 그 점 하나를 찍기 위해 보냈던 수많은 밤을 떠올렸다.
게코 엔진의 소스 코드를 파헤치며 getContext
함수의 로직을 수정하던 순간. 자바스크립트의 숫자 값을 C++의 float
타입으로 안전하게 변환하기 위해 고민하던 기억. 마침내 컴파일에 성공하고, 떨리는 마음으로 첫 HTML 파일을 열었을 때, 화면에 점이 찍히는 대신 브라우저가 통째로 다운되어 버렸던 수십 번의 실패.
그때의 점은 불안정했고, 그 자신 외에는 아무도 그 존재를 알지 못했다.
하지만 그 작은 점은 씨앗이 되었다.
그 점은 동료들의 의심과 격려를 불러왔고, 모질라의 공식적인 제안서로 발전했다.
그 점은 크로노스 그룹이라는 거인들의 회의 테이블 위에 올려져, ‘WebGL’이라는 이름을 얻고 수많은 논쟁 속에서 단련되었다.
그 점은 파이어폭스와 크롬의 치열한 경쟁 속에서 더 빠르고 안정적인 기술로 성장했고, 애플의 합류로 마침내 모든 웹 사용자가 만날 수 있는 보편적인 존재가 되었다.
이제 그 점은 더 이상 혼자가 아니었다.
수많은 점들이 모여 선이 되고, 선이 모여 삼각형이 되고, 그 삼각형들이 모여 구글 맵스의 3D 도시를 만들고, 화려한 웹 게임 속 캐릭터를 움직이고, 복잡한 데이터의 패턴을 그려내고 있었다.
블라디미르는 다시 현재의 웹을 둘러보았다.
의료계에서는 의대생들이 브라우저 안에서 3D 인체 모델을 돌려보며 해부학을 공부하고 있었다.
가구 회사는 고객들이 자신의 집에 가구를 가상으로 배치해볼 수 있는 WebGL 기반의 시뮬레이터를 제공하고 있었다.
교육계에서는 고대 유적지를 3D로 복원하여, 학생들이 직접 탐험하며 역사를 체험하게 하고 있었다.
그 모든 놀라운 혁신의 시작이, 바로 지금 자신의 눈앞에 있는 이 보잘것없는 점 하나였다는 사실에 그는 경외감마저 느꼈다.
그는 더 이상 WebGL 프로젝트의 최전선에 서 있지는 않았다. WebGL은 이제 그의 손을 떠나, 전 세계 수백만 명의 개발자들과 함께 스스로 진화하고 성장하는 거대한 생태계가 되었다. 그는 그것으로 만족했다.
블라디미르는 조용히 파일을 닫았다.
하나의 점에서 시작된 혁명. 그는 그 혁명의 불씨를 처음 지폈다는 사실만으로도 충분히 행복했다. 웹이라는 캔버스는 이제 그가 상상했던 것보다 훨씬 더 넓고 깊어져 있었다. 그리고 그 여정은 아직 끝나지 않았다.