브라우저 제조사들이 물밑에서 치열한 경쟁과 고민을 거듭하는 동안, 웹의 표면에서는 전혀 다른 종류의 움직임이 일어나고 있었다. WebGL이라는 새로운 도구를 가장 먼저 알아본 용감한 개발자들, 즉 ‘얼리 어답터(early adopters)’들이 움직이기 시작한 것이다.
이들은 대부분 그래픽스에 대한 깊은 이해를 가진 프로그래머, 데이터 시각화 전문가, 혹은 단순히 새로운 기술에 대한 호기심으로 가득 찬 괴짜들이었다. 그들은 아직 버그가 난무하고 문서도 제대로 갖춰지지 않은 파이어폭스와 크롬의 개발자 버전을 기꺼이 설치했다.
그들에게 WebGL은 경이로운 장난감 상자와도 같았다.
누군가는 자신의 블로그에 “WebGL로 처음 그려본 삼각형”이라는 제목으로 글을 올렸다. 밋밋한 회색 배경 위에 달랑 놓인 삼각형 하나. 하지만 그 글에는 수많은 댓글이 달렸다. “대단합니다! 플러그인 없이 이게 가능하다니!”, “저도 방금 따라 해봤는데, 제 컴퓨터에서도 돌아가네요!”
이 작은 성공 경험들이 모여 커뮤니티를 형성하기 시작했다. 개발자들은 트위터, 개인 블로그, 그리고 막 생겨나기 시작한 스택 오버플로우(Stack Overflow) 같은 질의응답 사이트에서 정보를 공유했다.
“gl.bufferData
에 Float32Array
를 넘기지 않고 일반 자바스크립트 배열을 넘겼더니 파이어폭스에서는 되는데 크롬에서는 에러가 나네요. 이게 맞는 건가요?”
“셰이더 컴파일 에러 로그가 너무 불친절한데, 더 자세히 볼 수 있는 방법이 없을까요?”
이런 질문과 답변들이 쌓이면서, 공식 명세서에는 없는 살아있는 지식, 즉 ‘노하우’가 축적되었다. 브라우저 간의 미묘한 차이점, 특정 그래픽 카드에서의 버그를 우회하는 팁, 성능을 최적화하는 기법들이 커뮤니티를 통해 빠르게 전파되었다.
단순한 질의응답을 넘어, 창조적인 실험들이 폭발적으로 쏟아져 나왔다.
한 아티스트는 프래그먼트 셰이더만을 이용해 절차적으로 생성되는(procedurally generated) 환상적인 프랙탈 아트워크를 선보였다. 자바스크립트 코드는 단 몇 줄, 대부분의 로직은 수백 줄의 GLSL 코드 안에 담겨 있었다. 이것은 WebGL이 단지 3D 모델을 그리는 것을 넘어, GPU를 이용한 순수한 시각 예술의 도구가 될 수 있음을 보여주었다.
또 다른 개발자는 Web Audio API와 WebGL을 결합하여, 음악의 주파수 데이터에 실시간으로 반응하는 3D 시각화 데모를 만들었다. 음악의 비트가 터질 때마다 화면의 기둥들이 솟아오르고 색이 바뀌는 모습은 사람들에게 웹이 얼마나 역동적인 경험을 제공할 수 있는지 각인시켰다.
이러한 데모들은 ‘크롬 익스페리먼트(Chrome Experiments)’나 ‘모질라 데모 스튜디오(Mozilla Demo Studio)’ 같은 사이트에 전시되었다. 이곳은 WebGL 아티스트와 개발자들의 성지가 되었다. 사람들은 새로 올라온 놀라운 데모를 보고 영감을 얻었고, 소스 코드를 뜯어보며 새로운 기술을 배웠다.
이 자발적인 커뮤니티의 활약은 WebGL의 발전에 결정적인 역할을 했다.
첫째, 그들은 최고의 ‘테스터’였다. 그들이 온갖 기상천외한 방식으로 WebGL을 사용하면서, 브라우저 제조사들이 미처 발견하지 못했던 수많은 버그와 예외 케이스들이 드러났다.
둘째, 그들은 최고의 ‘전도사’였다. 그들이 만든 눈을 사로잡는 데모들은 WebGL이 무엇을 할 수 있는지 보여주는 가장 강력한 홍보 자료가 되었다.
셋째, 그들은 최고의 ‘교육자’였다. Three.js와 같은 라이브러리의 초기 개발자들도 바로 이 커뮤니티 출신이었다. 그들은 WebGL의 복잡함을 감추고 더 쉽게 사용할 수 있는 도구를 만들어, 더 많은 개발자들이 WebGL의 세계로 들어올 수 있도록 다리를 놓았다.
블라디미르는 이 모든 광경을 감격스럽게 지켜보았다. 그가 심었던 작은 씨앗이 이제 거대 기업의 노력뿐만 아니라, 전 세계 수많은 개발자들의 열정과 창의력이라는 자양분을 먹고 무럭무럭 자라나고 있었다.
애플의 침묵에도 불구하고, WebGL 생태계는 스스로 살아 움직이며 뿌리를 내리고 있었다. 이제 그 누구도 이 거대한 흐름을 되돌릴 수 없을 터였다. 남은 것은 공식적인 발표, 즉 새로운 시대의 개막을 알리는 선언뿐이었다.