WebGLとWebGPUを使ったブラウザー上の3Dシーンの作成・描画を容易にするJavaScript 3Dライブラリ。
gkjohnson/three-gpu-pathtracer
three.js向けのWebGPUパストレーシングレンダラー。three-mesh-bvhを使って、ブラウザー上で物理ベースの画像を生成します。
- スター
- 2,029
- フォーク
- 200
- 未解決の Issue
- 63
- 最終コミット
- 昨日
これは何?
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の製品シーンや建築シーンのフォトリアルなプレビューを作成する。
- Web 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の製品シーンや建築シーンのフォトリアルなプレビューを作成する。 Web 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 mod。
FFT波、砕波、泡、コースティクス、水中ビュー、浮遊物体に対応したthree.js(WebGL2)向けリアルタイム海洋レンダラー。
WebGPUとWebGL2に対応し、大規模モデル向けのストリーミングLODを備えた、3D Gaussian Splattingシーン用のThree.jsレンダラー。