vgpu - 브라우저와 Node.js에서 같은 코드로 쓰는 경량 WebGPU 라이브러리
요약
이 WebGPU 라이브러리는 TypeScript 기반으로 개발되어 브라우저, Node.js 등 다양한 환경에서 동일한 API로 코드를 재사용할 수 있게 합니다. 셰이더 모듈화와 자동 바인딩 선언 기능을 제공하여 개발 편의성을 높였습니다. 또한, GPU 없이도 테스트가 가능한 Mock 환경을 지원합니다.
핵심 포인트
- 브라우저/Node.js에서 동일한 API로 코드 재사용 가능
- 자동 바인딩 선언으로 수동 코딩 부담 감소
- Mock 환경을 통한 결정론적 테스트 및 CI 실행
- 셰이더 모듈화와 표준 라이브러리 제공
- 셰이더 효과, 3D 장면, GPU 연산과 시각화를 만드는 개발자를 위한
TypeScript 기반 WebGPU 라이브러리 - 브라우저, 화면 없이 실행하는 Node.js, 테스트 환경에서
동일한 공개 API로 코드 재사용 가능
.wgsl
셰이더 파일을 모듈처럼 가져오고, 함수와 구조체, 상수를 다른 셰이더에서 재사용 가능
- 셰이더의 바인딩 이름과 타입, 메모리 배치를 자동으로 맞춰
별도 코드 생성과 수동 바인딩 선언을 줄임
init()
으로 만든 하나의 Gpu
컨텍스트를 각 API에 명시적으로 전달하며, 프레임과 렌더 패스, 초기화와 그리기도 직접 호출하는 구조
- 브라우저에서는 네이티브 WebGPU, Node.js에서는
Dawn 기반 어댑터로 렌더링하고 결과 픽셀을 읽을 수 있음
vgpu/mock
으로 GPU 없이 결정론적인 테스트와 CI 실행 가능
- 사용하지 않는 WGSL 선언을 제거하며,
전체 화면 효과의 gzip 번들 크기에 25KB 예산을 두고 CI에서 검사
@vgpu/wgsl-std
로 수학, 색상, 샘플링, 노이즈, 해시 관련 셰이더 코드 재사용 가능
- CLI에서 셰이더 검사, 환경 진단, 오프라인 문서 검색, 예제 탐색과 소스 내려받기 가능
- 코딩 에이전트용 스킬과
llms.txt
, 읽기 전용 MCP 제공. 로컬 문서 도구는 프로젝트에 설치된 버전의 문서를 사용함
- https://vgpu.sh 에서 공식 문서와 실행 예제 제공
MIT 라이선스
댓글과 토론
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기