Repolode
gkjohnson

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. 1

    サンプルをローカルで実行するための依存関係をインストールする

    npm install
  2. 2

    デモをローカルで起動する

    npm start
  3. 3

    デモ名を指定して、localhostのポート5173でデモページを開く

使う前に知っておきたいこと

  • このプロジェクトの実行にはWebGPUが必要なため、WebGPUに対応していないブラウザーでは動作しません。
  • MeshStandardMaterialとMeshPhysicalMaterialのみサポートされています。
  • SpotLights、DirectionalLights、PointLightsはMISを使用する場合のみサポートされています。

トピック

#path-tracing#webgpu#three-js#rendering#graphics#bvh#raytracing#geometry#mesh#path

よくある質問

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 の数値は毎日更新されます。

関連プロジェクト