Spark: Advanced 3D Gaussian Splatting Renderer for Three.js

Spark - Three.js용 고급 3D Gaussian Splatting 렌더러

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

  1. D 그래픽스 개발자, WebGL 프로그래머, 게임 개발자 및 디자이너, VR/AR 개발자

핵심 요약

  • SparkThree.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의 스테이크 샌드위치 데모 예시 제공

결론

  • SparkThree.js 기반의 고성능 Gaussian Splatting 렌더링을 지원하며, 모바일 및 웹 환경에서의 실시간 3D 시각화에 적합
  • SOGS 압축 기법을 통해 데이터 전송 용량을 최소화하고, Shader graph 시스템을 통해 GPU에서의 동적 편집이 가능
  • Gaussian SplattingVR, 게임, 디지털 트윈, 크리에이티브 콘텐츠 등 다양한 분야에 활용 가능하며, 라이브러리의 확장성 및 성능 개선이 앞으로의 주요 과제임