WebGL과 WebGPU를 사용해 브라우저에서 3D 장면을 더 쉽게 만들고 렌더링할 수 있는 JavaScript 3D 라이브러리입니다.
gkjohnson/three-gpu-pathtracer
three.js용 WebGPU 패스 트레이싱 렌더러로, three-mesh-bvh를 사용해 브라우저에서 물리 기반 이미지를 렌더링합니다.
- 스타
- 2,029
- 포크
- 200
- 열린 이슈
- 63
- 마지막 커밋
- 15시간 전
어떤 프로젝트인가요?
three-gpu-pathtracer는 WebGPU 컴퓨트 셰이더를 통해 GPU에서 실행되는 three.js용 패스 트레이싱 렌더러입니다. three-mesh-bvh 라이브러리로 광선 교차를 가속해 브라우저에서 물리 기반의 고품질 렌더링을 구현하는 것을 목표로 합니다.
이 라이브러리는 three.js 장면과 카메라를 입력받아 프레임마다 샘플을 점진적으로 누적하는 WebGPUPathTracer 클래스를 제공합니다. 또한 블러 처리된 환경 맵을 생성하는 BlurredEnvMapGenerator도 포함되어 있습니다. 이를 사용하면 선명한 반사를 희생하는 대신 수렴 속도를 높일 수 있습니다.
이 프로젝트를 사용하려면 WebGPU가 필요합니다. 스폿 라이트, 방향성 라이트, 포인트 라이트는 다중 중요도 샘플링을 사용할 때만 지원되며, MeshStandardMaterial과 MeshPhysicalMaterial만 렌더링됩니다. 저장소에는 glTF 로딩, 영역광과 스폿 라이트, 피사계 심도, HDR 환경, 디노이징, 애니메이션 렌더링을 다루는 데모가 포함되어 있습니다.
핵심 기능
- 01WebGPU 컴퓨트 셰이더를 사용해 three.js 장면을 패스 트레이싱합니다.
- 02three-mesh-bvh를 통해 광선 교차를 가속합니다.
- 03간단한 renderSample 루프를 사용해 샘플을 점진적으로 누적합니다.
- 04다중 중요도 샘플링을 통해 영역광, 스폿 라이트, 방향성 라이트, 포인트 라이트를 지원합니다.
- 05수렴 속도를 높이기 위한 블러 처리된 환경 맵을 생성합니다.
- 06MeshStandardMaterial과 MeshPhysicalMaterial을 지원합니다.
활용 사례
- 브라우저에서 three.js 제품 또는 건축 장면의 사실적인 미리보기를 제작합니다.
- 웹 3D 애플리케이션의 물리 기반 조명과 머티리얼을 프로토타이핑합니다.
- glTF 모델에서 고품질 스틸 이미지나 애니메이션 프레임을 렌더링합니다.
빠른 시작
- 1
예제를 로컬에서 실행하는 데 필요한 종속 항목을 설치합니다
npm install - 2
데모를 로컬에서 시작합니다
npm start - 3
데모 이름을 사용해 localhost 포트 5173에서 데모 페이지를 엽니다
사용 전 알아둘 점
- 이 프로젝트를 실행하려면 WebGPU가 필요하므로 WebGPU를 지원하지 않는 브라우저에서는 실행되지 않습니다.
- MeshStandardMaterial과 MeshPhysicalMaterial만 지원됩니다.
- SpotLights, DirectionalLights, PointLights는 MIS를 사용하는 경우에만 지원됩니다.
토픽
자주 묻는 질문
- three-gpu-pathtracer은(는) 무엇인가요?
- three.js용 WebGPU 패스 트레이싱 렌더러로, three-mesh-bvh를 사용해 브라우저에서 물리 기반 이미지를 렌더링합니다. three-gpu-pathtracer는 WebGPU 컴퓨트 셰이더를 통해 GPU에서 실행되는 three.js용 패스 트레이싱 렌더러입니다. three-mesh-bvh 라이브러리로 광선 교차를 가속해 브라우저에서 물리 기반의 고품질 렌더링을 구현하는 것을 목표로 합니다.
- three-gpu-pathtracer은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- three-gpu-pathtracer은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- three-gpu-pathtracer은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. three-gpu-pathtracer의 마지막 커밋은 2026년 11월 6일입니다.
- three-gpu-pathtracer은(는) 어디에 사용할 수 있나요?
- 브라우저에서 three.js 제품 또는 건축 장면의 사실적인 미리보기를 제작합니다. 웹 3D 애플리케이션의 물리 기반 조명과 머티리얼을 프로토타이핑합니다. glTF 모델에서 고품질 스틸 이미지나 애니메이션 프레임을 렌더링합니다.
- three-gpu-pathtracer는 어떻게 설치하나요?
- 예제를 로컬에서 실행하는 데 필요한 종속 항목을 설치합니다: npm install 데모를 로컬에서 시작합니다: npm start 데모 이름을 사용해 localhost 포트 5173에서 데모 페이지를 엽니다
- three-gpu-pathtracer은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/gkjohnson/three-gpu-pathtracer
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
브라우저에서 WebGL, WebGPU, WebXR로 실행되는 JavaScript/TypeScript 3D 게임 및 렌더링 엔진입니다.
C++로 레이 트레이서를 처음부터 만드는 과정을 알려 주는 무료 온라인 도서 시리즈로, 각 단계의 전체 소스 코드도 제공합니다.
GeForce RTX GPU에서 Minecraft Java Edition 1.21.1에 NVIDIA RTX Remix 패스 트레이싱을 추가하는 베타 Fabric 모드입니다.
대형 모델용 스트리밍 LOD를 지원하고 WebGPU와 WebGL2에서 동작하는 Three.js 3D Gaussian Splatting 렌더러입니다.