WebGPUTracer / RayTracingCamp9
by
kugi
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
WebGPUTracer kugi(@kugi_masa) RayTracingCamp9
Slide 2
Slide 2 text
今回の目標 GPUレンダリング
Slide 3
Slide 3 text
でも... 開発環境はMacOS
Slide 4
Slide 4 text
調べていると OSやドライバに依存しない実装
Slide 5
Slide 5 text
方針 ● 現時点ではDXRやVulkan Ray Tracingには非対応 ● WebGPU Samples に Cornell box Compute Shader
Slide 6
Slide 6 text
WebGPUTracer ● 概要 ○ パストレーシングをComputeShaderで実装 ○ Multiple Importance Sampling ○ インスタンス間の通信はなし(フレーム分割) ○ wgpu-native、Dawn両方のビルドに対応 ● オブジェクト ○ Sphere ○ Quad ■ Triangleはバグが取れず断念 ● マテリアル ○ Lambert BRDF Only
Slide 7
Slide 7 text
WebGPUの苦難 ● WGSLのデバッグが大変 ● wgpu-nativeとDawnの違い ○ 書き方が微妙に違う ■ 最近は揃いつつある ○ wgpu-nativeだと本番環境でComputePipeline作成でハングする ■ 本番環境ではDawnビルド ● GitHub Actionでビルド/実行確認 ○ していたが... ある時からなぜか 「device lost」でプロセスが強制終了 ○ 最終的に同期Mくんから借りたゲーミングノートでビルド
Slide 8
Slide 8 text
出力結果 ● fps:60 ● 動画の長さ:10秒 ● サイズ:1280 x 720 ● spp:150 ● 光源:8つ ○ 近づくと点灯する7色の光源 ○ 回転して色が変わっていく光源
Slide 9
Slide 9 text
今後の目標 ● 最適化 ● オブジェクト ○ Triangle ○ objファイルなど ● マテリアル ○ Specular ○ マイクロファセットモデル ● ReSTIR