AI Briefing

Augmented Vertex Block Descent의 WebGPU 구현

·2026.04.09 21:01

핵심 내용

WebGPU로 AVBD 기반 rigid-body/soft-body 물리 프로토타입을 구현했다.

자세히 보기

experimental WebGPU rigid-body / soft-body physics prototype다. 핵심은 AVBD(Augmented Vertex Block Descent) 스타일 solver를 WebGPU로 옮긴 구현이며, live demo와 함께 공개됐다.

설치와 실행은 간단하다.

  • npm install
  • npm run dev
  • production build: npm run build

다만 아직은 plug-and-play 모듈이 아니고, 브라우저 지원도 Chrome only 수준인 초기 proof of concept다.

구현은 AVBD paper의 Algorithm 1 흐름을 꽤 직접적으로 따른다.

  • collision detection: 시간 단계 시작 시 현재 위치 x^t에서 충돌 검출을 수행한다.
  • broad phase: LBVH를 만들고 순회해 후보 body pair를 찾는다.
  • narrow phase: manifold를 만들고, warm-start와 friction 처리를 위한 per-contact state를 유지한다.
  • per-body constraint list: contact, joint, spring을 바탕으로 각 body가 참조할 constraint를 모은다.
  • coloring: greedy coloring으로 같은 색의 body를 병렬 처리할 수 있게 준비한다.
  • primal init: inertial target y를 만들고 primal state를 초기화한다.
  • colored primal solve: 반복 iteration에서 색 단위로 body solve를 수행하며 AVBD primal update를 적용한다.
  • dual/stiffness update: primal sweep 뒤 dual 변수와 stiffness를 갱신한다.
  • finalize velocities: 최종 상태에서 velocity를 재구성한다.

문서가 강조하는 점은, 현재 pipeline이 paper와 상당히 비슷하지만 rare same-color conflicts를 위한 double-buffered position updates는 아직 그대로 구현되지 않았고, 현재 경로는 본질적으로 in-place colored body solve라는 것이다.

즉, 완성형 라이브러리라기보다 AVBD를 WebGPU로 검증하는 실험적 구현에 가깝고, 물리 시뮬레이션/웹 그래픽스 쪽에 관심 있는 개발자에게 의미 있는 기술 데모다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.