Spark - Three.js용 고급 3D Gaussian Splatting 렌더러
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- D 그래픽스 개발자, WebGL 프로그래머, 게임 개발자 및 디자이너, VR/AR 개발자
핵심 요약
- Spark 은 Three.js 렌더링 파이프라인과 연동하여 Gaussian Splatting 기반의 3D 객체를 렌더링할 수 있는 라이브러리로, 모바일 저사양 기기에서도 빠른 렌더링 성능 제공
- Gaussian Splatting 은 부피 데이터를 서피스 없이 직접 렌더링하는 고성능 기법으로, 구름, 불, 연기 등의 효과 생성에 적합
- .PLY, .SPZ, .SPLAT, .KSPLAT 등의 형식을 지원하며, Shader graph 시스템을 통해 GPU에서 동적으로 splat 생성 및 편집 가능
섹션별 세부 요약
1. 렌더링 기능 및 지원 포맷
- Three.js 렌더링 파이프라인과의 호환성 제공
- .PLY, .SPZ, .SPLAT, .KSPLAT 등 주요 splat 파일 포맷 지원
- WebGL2 지원 98% 이상의 디바이스에서 동작 가능
- 모바일 저사양 기기에서도 빠른 렌더링 성능 제공
2. 렌더링 및 편집 기능
- 여러 splat 객체의 동시 렌더링 및 정렬 처리
- 동적 편집 기능 제공: 각 splat 객체를 개별적으로 변환, 애니메이션 적용 가능
- 실시간 색상 편집, 변위, 스켈레톤 애니메이션 지원
- Shader graph 시스템으로 GPU에서 splat 생성 및 편집 가능
3. 데모 및 성능 특징
- 음식 스캔 데모에서 놀라운 디테일과 성능 제공
- 80MB 이하의 데이터 전송 용량으로 높은 효율성
- SOGS 압축 기법 적용으로 1M Gaussian을 약 14MB로 저장 가능
- 12MB의 스테이크 샌드위치 데모 예시 제공
결론
- Spark 은 Three.js 기반의 고성능 Gaussian Splatting 렌더링을 지원하며, 모바일 및 웹 환경에서의 실시간 3D 시각화에 적합
- SOGS 압축 기법을 통해 데이터 전송 용량을 최소화하고, Shader graph 시스템을 통해 GPU에서의 동적 편집이 가능
- Gaussian Splatting은 VR, 게임, 디지털 트윈, 크리에이티브 콘텐츠 등 다양한 분야에 활용 가능하며, 라이브러리의 확장성 및 성능 개선이 앞으로의 주요 과제임