Renderu.com
10.2 K포스트
68.3 K팔로워
34.3 M방문
Alex Rowan

가우시안 스플랫 에디터 SuperSplat 3.0, WebGPU로 재작성돼 대기 상태 메모리 사용량 약 15분의 1로

PlayCanvas가 SuperSplat Editor 3.0을 공개했다. 브라우저에서 동작하는 3D 가우시안 스플랫 에디터를 WebGPU 기반으로 처음부터 다시 작성한 버전이다. 투영, 시야 절두체 컬링, 패킹, 깊이 정렬, 그리고 각 가우시안에 대한 드로우 콜 발행이 이제 매 프레임 그래픽카드에서 처리되며, 에디터는 장면의 완전한 float 사본을 JavaScript에 보관하지 않게 됐다.

440만 스플랫(용량 990MB의 PLY)으로 구성된 테스트 장면에서 대기 상태의 최대 메모리 사용량은 1557MB에서 105MB로, 1080p 영상 렌더링 시에는 1673MB에서 142MB로, 압축 PLY 저장 시에는 2982MB에서 1759MB로 줄었다. 이 절감 덕분에 예전에는 탭의 메모리를 모두 소진시키던 장면도 일반 브라우저 탭에서 불러올 수 있게 됐고, 새로운 렌더링 모드와 더불어 수천만 개 규모의 가우시안 장면을 다룰 수 있게 됐다.

대신 호환성은 좁아졌다. 세 번째 버전에서 WebGL2 렌더링은 완전히 삭제됐고, 그와 함께 CPU 소프트웨어 정렬 워커도 사라졌다. WebGPU가 없으면 에디터는 실행되지 않으며, 인터페이스 대신 WebGPU를 사용할 수 없다는 메시지를 표시한다.

연산을 그래픽카드로 옮겨서 얻은 것

변경은 렌더링에만 그치지 않는다. 히스토그램, 범위 기반 선택, 색상 선택, 크기 계산, 그리고 선택 시의 모든 교차 판정 패스가 컴퓨트 셰이더로 옮겨졌다. 대표적인 예가 Orient 도구다. 240만 가우시안 장면에서 이 도구를 클릭하면 예전에는 인터페이스가 약 8.5초 동안 멈췄지만, 이제는 25ms 미만에 처리된다.

내보내기는 스트리밍 방식으로 다시 만들었다. 파일을 메모리에 통째로 올리지 않고 splat-transform을 통해 조각 단위로 조립한다. PLY, 압축 PLY, SOG, SPZ, 프로젝트 파일 .ssproj, 그리고 갤러리 게시가 여기에 해당한다. 빌드는 PlayCanvas Engine 2.22.0과 splat-transform 3.3.3을 기반으로 한다.

인터페이스에는 Frame Timings 진단이 추가됐다. 최근 1초 동안의 최솟값, 중앙값, 95번째 백분위수와 함께 GPU 프레임 시간 그래프를 그려준다. 특정 목표 하드웨어에 맞춰 스플랫을 준비하는 사용자라면 에디터를 벗어나지 않고도 성능 저하를 확인할 수 있다.

구형 브러시와 정렬 없는 렌더링 모드

렌더링의 가장 큰 새 기능은 Stochastic Alpha 모드다. 가우시안을 불투명하게, 깊이 테스트와 픽셀 단위 커버리지를 사용해 그리므로 깊이 정렬을 하지 않는다. 카메라가 멈추면 에디터가 블렌딩을 적용한 완전 정렬 프레임을 다시 그린다. 설정에서는 ‘끄기’, ‘켜기’, ‘이동 중에만’, ‘자동’을 고를 수 있는데, 기본값인 마지막 항목은 해당 그래픽카드에서 정렬 프레임이 느린 것으로 확인된 경우에만 확률적 모드로 전환하고, 화면이 가벼워지면 다시 정렬 방식으로 돌아온다. PlayCanvas의 시연에서는 약 2000만 가우시안 규모의 식물원 스캔에서 이 모드를 보여준다.

Редактор гауссовых сплатов SuperSplat 3.0 переписан на WebGPU и в простое требует почти в 15 раз меньше памяти
SuperSplat Editor 3.0에서 본 식물원 스캔. 이미지: PlayCanvas

편집 도구 중에서는 새로운 구형 브러시(Shift+B)가 가장 눈에 띈다. 획의 각 점은 커서 아래의 깊이에 놓이고, 반지름은 그 깊이에서의 월드 크기로 환산되며, 깊이가 끊기는 곳에서는 획이 분리된다. 브러시가 스캔 표면을 따라가므로 그 뒤에 있는 것은 잡히지 않는다. 기존의 ‘표면 기준 / 관통’ 전환은 Selection Depth와 Selection Footprint라는 두 개의 개별 항목으로 대체됐으며, 가우시안의 자국을 기준으로 한 선택은 GPU에서 계산된다. 알파가 0인 스플랫도 이제 선택된다.

색 보정은 공통 설정에서 장면 관리자로 옮겨졌고, 장면 전체뿐 아니라 선택 영역에도 적용된다. 색조, 색온도, 채도, 밝기, 블랙 포인트와 화이트 포인트, 투명도를 조정할 수 있으며, 뷰포트에서 실시간 미리보기를 제공하고 적용 버튼을 누르면 수정이 구워진다. 이제 스캔의 일부 영역을 에디터 안에서 바로 국소적으로 손볼 수 있다.

그 밖의 변경 사항:

  • 가우시안, 중심점, 링을 개별로 켜고 끄는 스위치와 링 두께, 중심점 크기, 선택 색상 설정을 갖춘 Appearance 패널. 보조 오버레이는 기본적으로 꺼져 있으며 Tab 키로 한꺼번에 숨길 수 있다;
  • 팝업 오버레이 패널: 그리드와 평면, 치수가 표시되는 바운딩 박스, 카메라 위치, 카메라 데이터, 프레임 타이밍;
  • 개편된 그리드 — XZ, XY, YZ 평면을 각각 독립적으로 켤 수 있고 간격은 적응형이며, 큰 장면을 위해 100m와 1000m 선을 제공한다;
  • 언어, 톤 매핑, 구면 조화 함수 밴드 수, 비행 속도, 시야각, 설정 초기화를 담은 Preferences 섹션;
  • JSON과 COLMAP에서 카메라 포즈를 일괄 가져오는 속도 향상, 카메라가 장면 경계 안에 있을 때의 올바른 직교 투영 렌더링과 깊이 피킹;
  • 에디터를 애플리케이션으로 설치할 수 있고 .ply, .splat, .sog, .spz, .ksplat, .ssproj 파일의 연결 프로그램으로 등록된다.

요구 사항과 2.x에서의 이행

WebGPU 요구 조건은 일부 사용자를 배제한다. 최신 Chrome과 Edge, 버전 26 이상의 Safari, 그리고 WebGPU를 활성화한 Firefox에서 동작한다. 이 조건이 맞지 않는 사용자를 위해 PlayCanvas는 두 번째 브랜치를 남겨뒀고, 마지막 릴리스인 2.32.5는 저장소에서 계속 받을 수 있다. 프로젝트 파일에도 유의할 점이 있다. 3.0에서 저장한 .ssproj 파일은 3.0 이상에서만 열리지만, 세 번째 버전은 2.x의 프로젝트를 문제없이 읽는다. 처음 실행할 때는 페이지를 강제로 새로 고치는 것이 권장된다. 2.x의 오래된 서비스 워커와 오프라인 캐시가 등록 해제되기 때문이다.

배포 조건은 달라지지 않았다. SuperSplat Editor는 무료이고 소스는 MIT 라이선스로 공개돼 있으며, 따로 설치할 필요 없이 superspl.at에서 브라우저로 바로 작업한다.

왜 하필 지금 WebGL2를 버렸나

이 결정은 미리 준비된 것으로 보인다. 이미 6월에 PlayCanvas는 스플랫 뷰어를 컴퓨트 셰이더를 쓰는 WebGPU 렌더러로 전환했고, 에디터가 그 뒤를 따랐다. 이 단계에서는 두 개의 그래픽 백엔드를 지원하는 일이 더 이상 수지가 맞지 않았을 가능성이 크다. CPU 정렬과 장면을 JavaScript에 보관하는 방식이 가장 큰 제약이었는데, WebGL2 렌더링 경로를 병행하는 한 그것을 걷어낼 수 없었기 때문이다.

더 큰 흐름은 가우시안 스플랫이 시연 단계를 벗어나고 있다는 점이다. 압축과 교환 포맷이 발전하고 있고 — PlayCanvas의 경우 자체 포맷인 SOG가 있으며, 에디터는 그와 함께 SPZ도 지원한다 — 스플랫 지원이 엔진, 모바일 캡처 앱, 프로덕션 파이프라인으로 확산되고 있다. 도구는 규모에 맞춰 조정된다. 수천만 개의 가우시안으로 이뤄진 장면이 작업의 표준이 된다면 에디터는 그것을 그래픽카드에서 계산할 수밖에 없다.

이런 전환을 배경으로, 브라우저 기반 CG 도구들도 같은 시나리오를 따라 WebGPU로 옮겨갈 가능성이 크다. 먼저 뷰어, 그다음 에디터, 그리고 WebGL2 호환성 포기 순이다. 스튜디오 입장에서는 모델러와 스캔 담당자의 워크스테이션 요구 사항이 최신 브라우저와 드라이버 쪽으로 이동한다는 뜻이다.

SuperSplat 3.0에서 무엇이 더 중요한가?

  • 메모리 사용량 감소
  • WebGPU로의 전환
147
관련 뉴스:
Houdini 22 키노트 YouTube 공개: APEX Script용 AI 어시스턴트는 아직 프리뷰
Blender 5.3, 서드파티 애드온 없이 가우시안 스플랫 가져오기와 렌더링 지원
V-Ray 7.4, 최종 품질 렌더를 Maya와 Houdini 뷰포트에 바로 표시하고 Blender에는 무료 에디션 등장
World Labs, Atlas 공개: 영상 속 카메라를 제어하고 장면을 명시적 3D 지오메트리로 내주는 모델
코멘트:17
포스트 날짜 모든 언어 영어만