두 번째 기둥

412025년 08월 23일4

Dawn 팀의 혁신 리듬은 바뀌어 있었다. 초기의 폭발적인 전진 대신, 이제는 거대한 선박의 항로를 미세하게 조정하는 숙련된 항해사와 같았다. 하드웨어 제조사들과의 협력은 순조로웠고, Dawn의 성능은 매 빌드마다 소수점 단위로 꾸준히 향상되고 있었다. 모든 것이 안정된 궤도 위에 올라 있었다.

그 평온한 궤도를 뒤흔든 것은 예고 없는 한 편의 영상이었다.
유니티 테크놀로지스(Unity Technologies)가 그들의 공식 유튜브 채널에 올린, ‘Unity 2023 on the Web: Powered by WebGPU’라는 제목의 기술 데모였다.

팀 채팅방에 링크가 공유되자, 드미트리는 별 기대 없이 클릭했다. 또 다른 스폰자 씬이나, 회전하는 자동차 모델 같은 것이겠거니 생각했다.
하지만 화면에 나타난 것은 그의 예상을 완전히 배신하는 광경이었다.

햇살이 대성당의 스테인드글라스를 통과하며 바닥에 영롱한 빛의 무늬를 그렸다. 대기 중에는 먼지 입자들이 빛줄기 속에서 춤을 추고 있었다. 카메라가 움직이자, 갑옷을 입은 기사의 금속 표면에는 주변 환경이 실시간으로 반사되었고, 촛불의 일렁임에 따라 그림자는 부드럽게 흔들렸다.

이것은 ‘웹 데모’의 수준이 아니었다. PC나 콘솔에서나 볼 법한, 고품질의 실시간 3D 렌더링이었다. 그런데 이 모든 것이 브라우저 탭 안에서, 어떤 플러그인도 없이 매끄럽게 돌아가고 있었다.

“……이게 가능하다고?”
벤의 키보드 소리가 멎었다. 연구실의 모든 움직임이 멈춘 듯, 모두가 화면에 압도되었다.

카이가 가장 먼저 정신을 차리고 분석을 시작했다.
“이 정도 수준의 물리 기반 렌더링(PBR)과 동적 조명, 후처리 효과를 실시간으로 처리하려면… WebGPU의 렌더링 성능만으로는 설명이 안 돼. 이 모든 객체의 상태를 관리하고 물리 계산을 처리하는 CPU 쪽의 로직이 관건이야. 자바스크립트만으로는 이 정도 퍼포먼스를 내는 건 불가능해.”

그의 말에 모두가 동의했다. 자바스크립트는 강력하지만, 이 정도의 복잡성을 가진 게임 엔진의 핵심 로직을 매끄럽게 돌리기엔 태생적인 한계가 있었다. 대체 유니티는 어떤 마법을 부린 것일까?

드미트리는 영상의 설명란을 꼼꼼히 읽어 내려갔다. 그리고 마침내, 그는 그 마법의 정체를 찾아냈다. 답은 단 하나의 단어에 있었다.

WebAssembly (WASM).

드미트리가 나지막이 읊조렸다.
“그들은 두 개의 기둥을 함께 사용한 거야.”

팀원들이 그를 바라보았다.
“여러분, 우리는 지금까지 WebGPU라는 하나의 기둥에만 집중해왔습니다. GPU를 최대한 활용하는 방법만 고민했죠. 하지만 유니티는 다른 한쪽의 기둥, 즉 CPU를 네이티브에 가깝게 활용하는 WebAssembly를 함께 세운 겁니다.”

그는 화이트보드에 그림을 그렸다.
한쪽에는 ‘WebGPU’라고 쓰고 ‘GPU: 그래픽/계산’이라고 적었다.
다른 한쪽에는 ‘WebAssembly’라고 쓰고 ‘CPU: 게임 로직/물리’라고 적었다.

“유니티는 자신들의 게임 엔진 코어, 즉 C++과 C#으로 작성된 수백만 줄의 코드를 자바스크립트로 다시 쓴 게 아닙니다. 그들은 그 코드를 WebAssembly라는 저수준 바이트코드로 직접 컴파일했습니다. 그리고 이 WASM 코드가 브라우저 안에서 네이티브에 가까운 속도로 게임의 모든 로직을 처리하는 동안, 렌더링 명령은 WebGPU를 통해 GPU로 전달되는 겁니다.”

CPU를 위한 최고의 도구(WebAssembly)와 GPU를 위한 최고의 도구(WebGPU).
이 두 개의 혁명이 마침내 하나의 파이프라인 안에서 만난 것이다.

이것은 단순히 게임 하나가 웹에서 돌아간다는 의미가 아니었다.
이것은 지난 수십 년간 웹과 네이티브 애플리케이션을 갈라놓았던 거대한 벽이 허물어지기 시작했음을 알리는 신호였다. 이제 개발자들은 더 이상 웹을 위해 자신들의 코드를 희생하거나 타협할 필요가 없었다. 그들이 C++, Rust, C#으로 만든 복잡하고 무거운 애플리케이션을, 거의 그대로 웹이라는 보편적인 플랫폼 위에 올릴 수 있는 길이 열린 것이다.

드미트리는 화면 속에서 빛나고 있는 대성당을 다시 바라보았다.
그는 자신이 만든 것이 단순히 더 빠른 그래픽 API가 아니었음을 깨달았다.
그는 웹이라는 거대한 플랫폼이 다음 시대로 도약하기 위해 반드시 필요했던, 두 개의 기둥 중 하나를 완성시킨 것이었다.

그들이 만든 WebGPU라는 반석 위에, WebAssembly라는 또 다른 반석이 놓이자, 비로소 그 위에는 이전과는 비교할 수 없이 거대하고 웅장한 건축물을 세울 수 있게 된 것이다.

유니티의 데모는 경쟁이 아니었다. 그것은 WebGPU의 진정한 잠재력이 무엇인지를 세상에 보여준, 최고의 파트너가 보내온 찬사였다. 드미트리는 심장이 다시 뛰기 시작하는 것을 느꼈다. 그들의 여정은 이제 막, 완전히 새로운 가능성의 장으로 접어들고 있었다.